楼主: zzp_1988
73854 11

[问答] R语言:如何获取数据框中特定的行 [推广有奖]

  • 2关注
  • 0粉丝

等待验证会员

大专生

38%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0005
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
223 点
帖子
26
精华
0
在线时间
37 小时
注册时间
2014-1-11
最后登录
2019-4-2

1论坛币
有如下数据框X:
X1 X2 X3 X4 X5
1 2 3 4 5
2 3 4 5 6
4 3 2 3 2
2 3 2 32
8 2 1 2 7


通过什么函数可以提取数据框中的行,这些行满足:X1列的值位于{1,2}范围内,X5列的值位于{2,5,6}范围内。

另外,通过什么函数可以获得两个数据框中的交集,即相同的行。


最佳答案

nieqiang110 查看完整内容

suppose your data is names "data" #X1列的值位于{1,2}范围内 data[which((data$X1==1)|(data$X1==2)),] #X5列的值位于{2,5,6}范围 data[which((data$X5==2)|(data$X2==5)|(data$X2==6)),] #X1列的值位于{1,2}范围内,X5列的值位于{2,5,6}范围内 data[which(((data$X1==1)|(data$X1==2))& ((data$X5==2)|(data$X2==5)|(data$X2==6)),]
关键词:R语言 数据框 如何
沙发
nieqiang110 学生认证  发表于 2015-3-13 15:47:28 |只看作者 |坛友微信交流群
suppose your data is names "data"
#X1列的值位于{1,2}范围内
data[which((data$X1==1)|(data$X1==2)),]
#X5列的值位于{2,5,6}范围
data[which((data$X5==2)|(data$X2==5)|(data$X2==6)),]
#X1列的值位于{1,2}范围内,X5列的值位于{2,5,6}范围内
data[which(((data$X1==1)|(data$X1==2))&
((data$X5==2)|(data$X2==5)|(data$X2==6)),]
已有 2 人评分经验 学术水平 热心指数 收起 理由
李会超 + 40 观点有启发
Lisrelchen + 20 + 5 + 5 精彩帖子

总评分: 经验 + 60  学术水平 + 5  热心指数 + 5   查看全部评分

使用道具

藤椅
nieqiang110 学生认证  发表于 2015-3-13 19:28:50 |只看作者 |坛友微信交流群
错了,乱码了
我给你发图片

使用道具

板凳
nieqiang110 学生认证  发表于 2015-3-13 19:35:12 |只看作者 |坛友微信交流群
错了,乱码了
我给你发图片

新建 Microsoft Office Word 2007 文档.pdf

84.59 KB

使用道具

报纸
nieqiang110 学生认证  发表于 2015-3-13 19:36:38 |只看作者 |坛友微信交流群
pdf文档中是代码
你试试
我经常遇到你说的问题

使用道具

地板
Lisrelchen 发表于 2015-3-13 19:55:25 |只看作者 |坛友微信交流群
nieqiang110 发表于 2015-3-13 19:36
pdf文档中是代码
你试试
我经常遇到你说的问题
  1. suppose your data is names "data"
  2. #X1 列的值位于{1,2}范围内
  3. data[which((data$X1==1)|(data$X1==2)),]
  4. #X5 列的值位于{2,5,6}范围
  5. data[which((dataX5==2)|(data$X2==5)| (data$X2==6)), ]
  6. #X1 列的值位于{1,2}范围内,X5 列的值位于{2,5,6}范围
  7. data[which(((data$X1==1)|(data$X1==2))&
  8. ((dataX5==2)|(data$X2==5)| (data$X2==6))),]
复制代码

使用道具

7
zzp_1988 发表于 2015-3-17 15:34:50 |只看作者 |坛友微信交流群
找到答案了,
  1. a <- c(1,2)
  2. b <- c(2,5,6)
  3. data[X1 %in% a  &  X5 %in% b]
复制代码

使用道具

8
则卷 发表于 2015-6-27 10:53:03 |只看作者 |坛友微信交流群
您好,请问如何读取数据框中某些行形成新的数据框,比如第一列是
地区
北京
河北
......
北京
河北
.....
如何将北京,河北数据抽取出来?

使用道具

9
chen318liang 发表于 2015-7-20 15:20:51 |只看作者 |坛友微信交流群
则卷 发表于 2015-6-27 10:53
您好,请问如何读取数据框中某些行形成新的数据框,比如第一列是
地区
北京
可以用subset(data,select =c(北京,河北)
已有 1 人评分论坛币 收起 理由
jiangbeilu + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

使用道具

10
lker5lker5 发表于 2017-3-24 13:48:03 |只看作者 |坛友微信交流群
nieqiang110 发表于 2015-3-13 15:47
suppose your data is names "data"
#X1列的值位于{1,2}范围内
data[which((data$X1==1)|(data$X1==2)),] ...
谢谢!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-6 06:49