r - 获取单元格的值,而不是索引
问题描述
在 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”的输出
解决方案
您可以将apply
代码更改为:
apply(paym_area,1,function(x)max(x[x<=paym_sh1a]))
#[1] 20 0 20