在数据帧的每一列中查找最接近零的值-R

约翰·戈德利

我有一个包含几百列的数据框,每列都有数字数据。

对于每一列,我想标识单元格的值,该值最接近零,而不是正数。

例如

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)

我想要一些函数(有趣)来返回此向量:

fun(df)

[1] -1 0 -11

我以为我可以使用Apply函数,甚至可以使用循环或管道?

乌韦

OP要求

值最接近零而不是正数的单元格

(由@Heroka指出),返回值的向量作为预期结果。

可以使用data.table以下方法实现

library(data.table)
setDT(df)[, unlist(lapply(.SD, function(x) max(x[x<=0])))]

  X Y   Z
 -1 0 -11

解释说明

  • setDT(df)通过引用将data.frame强制df为data.table ,即不进行复制。
  • 对于每一列,返回不为正的最大值。
  • unlist() 将结果数据表强制转换为(命名的)向量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

r中数据帧不同行的每一列的最大值

R数据帧-使用一列中的公共值查找另一列中的值

快速测试R数据帧以查看一列中的行值是否在数据帧的另一列中

查找一列的最大值(按组),然后将值插入R中的另一数据帧

在r的数据帧的每一列中标识具有最大值的行

R:如何将数据帧转换为每一列的相对频率值?

最接近R中特定列的值

R中数据帧列表中每一列的组合

R-对于一列中的每个观测值,在另一列中找到最接近的一个

R中数据帧的每一列的第25个分位数

如何在R的数据帧的每一列中过滤NA

计算R中数据帧的每一列中用逗号“,”分隔的单词数

在R中设置现有数据帧的每一列的单位

在数据框R中将每列与行的最后一列的最后一个值相加

在数据框中查找另一列中值差异最大的行,R

在R中的列表中查找最接近的值

R将数据框中的每一列除以最后一行的值

R数据帧:根据另一列中的值更改第一列中的值

将数据帧中的每一列拆分为一个向量,然后写入目录R

R:根据另一列中的值在数据框中移动一列的总和

R:提取数据帧中另一列(y)至少具有+1的一列(x)的值

选择 R 中每一列的前 X 值

基于数据帧R的子集的一列中“分类值”的百分比

R:将不同条件的函数(Shapiro 测试)应用于数据帧中的每一列

返回最接近的值到R中的特定列

从R中的列创建具有最接近值的标志

通过最接近的时间和r中的另一个键连接数据帧

如何检查r中数据框中的一列值是否对应于数据框中每一行的另一列?

R:独立地随机采样(替换)数据帧的每一列