首页 > 解决方案 > 获取单元格的值,而不是索引

问题描述

在 R 中,我的数据集 paym_area 有 3 行,每行代表一个人,各列包含每个人将 3、2、1 和 0 单位面积注册到方案中所需的付款。对于这些人中的每一个,我已经使用以下方法确定了包含他们愿意为给定支付率 (paym_sh1a) 注册的最大区域的列:

paym_3<-c(20,30,40)

paym_2<-c(12,32,34)

paym_1<-c(8,40,20)

paym_0<-c(0,0,0)

paym_area=cbind(paym_3,paym_2,paym_1,paym_0)

paym_sh1a=20

sums=apply(paym_area,1,function(x){x[x<=paym_sh1a]<-min(x);which.min(x)})

所以这给了我“[1] 1 4 3”的输出但是除了列索引之外,我还想知道每个列中的值,我该怎么做?所以我想要“[1] 20 0 20”的输出

标签: r

解决方案


您可以将apply代码更改为:

apply(paym_area,1,function(x)max(x[x<=paym_sh1a]))
#[1] 20  0 20

推荐阅读