全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
8757 9
2018-01-29
R 新手求助!
有如下所示的数据集,
c1 c2 c3 c4 c5
1   0  3   6  9
2   1  2   10  12
3   0  4   11  13
如何返回每一行中c3-c5中第一个大于4的数值的位置,到一个新的变量中,如c6, 其对应的取值应该是4,4,3
求救~谢过!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-1-29 22:16:23
我非常确定会有更好,更简便的方法,但是,我想从dataframe变形的角度,用一种通用的解决方法:
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-30 09:11:19
一个简单的循环就可以了
假设x是一个数据框,则
n<-dim(x)[2]
ss<-data.frame()
for(i in 1:n){
  ss[i,1]<-min(which(x[i]>=4))
}
ss
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-30 10:57:59
笨_O 发表于 2018-1-30 09:11
一个简单的循环就可以了
假设x是一个数据框,则
n
你这个x是哪里来的呢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-30 10:59:05
提供一种方法:
which里面有一种用法,是判断后返回行列值的,然后对which返回结果进行过滤,就可以得到你要的结果了
复制代码

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-1-30 11:46:34
jiangbeilu 发表于 2018-1-30 10:59
提供一种方法:
which里面有一种用法,是判断后返回行列值的,然后对which返回结果进行过滤,就可以得到你 ...
x是假设的一个数据框,还有,这里是 group_by(col)吧?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群