r - R 数据框中的条件行删除

标签 r subset

这是一个示例数据框:

df <- data.frame(t1 = c(1,2,3,4), t2 = c(7,3,8,1), t3 = c(1,1,1,1))

df
  t1 t2 t3
1  1  7  1
2  2  3  1
3  3  8  1
4  4  1  1

我的目标是从每列中删除最大值。但是,对于像 t3 这样的列,其中列中的所有值都相等,我只需删除一个值,以便数据框中的所有三列都以三行结束,如下所示:
df2
  t1 t2 t3
1  1  7  1
2  2  3  1
3  3  1  1

最佳答案

尝试

library(data.table)
 setDT(df)[, lapply(.SD, function(x) x[-which.max(x)])]

关于r - R 数据框中的条件行删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30514460/

相关文章:

r - 我可以在 Rstudio 中单击后直接绘制每个 locator() 点吗?

r - 在 R/Tidyeval 中的 RHS 上使用类似胶水的结构

python - 当某些列为 datetime.time 类型时,如何按列名对 df 进行切片?

c# - 使用 Enumerable.Zip 或按位与逻辑查找所有子集

r - 计算数据帧子集中数字的出现

r - 如果某列值在某个范围之间,则获取对应的值

r - Stan 模型后验预测超出可能的数据范围

R kknn 包和加权 k-最近邻计算

r - 有条件地从 data.frame 中删除重复项

postgresql - 使用 sqlalchemy orm 过滤数据库列中的一系列值