我有一个包含几百列的数据框,每列都有数字数据.
对于每列,我想识别具有最接近零的值的单元格的值,而不是正数.
例如
X = c(-1,-2,-3,-4,-5,-6,-7,-8,-9,-10)
Y = c(5,4,3,2,1,0,-1,-2,-3,-4)
Z = c(-11,-12,-13,-14,-15,-16,-17,-18,-19,-20)
df <- data.frame(X, Y, Z)
Run Code Online (Sandbox Code Playgroud)
我想要一些函数(有趣)来返回这个向量:
fun(df)
[1] -1 0 -11
Run Code Online (Sandbox Code Playgroud)
我以为我可以使用应用函数,甚至可能使用循环或管道?
我们循环遍历columns(sapply(...)
),获取绝对值,找到最小值的索引which.min
,并将列的值子集化.
unname(sapply(df, function(x) x[which.min(abs(x))]))
#[1] -1 0 -11
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1725 次 |
最近记录: |