【发布时间】:2016-01-14 03:52:32
【问题描述】:
假设我有一个数据框:
df <- data.frame(rbind(c(10,1,5,4), c(6,0,3,10), c(7,1,10,10)))
colnames(df) <- c("a", "b", "c", "d")
df
a b c d
10 1 5 4
6 0 3 10
7 1 10 10
还有一个数字向量(对应四个列名a,b,c,d)
threshold <- c(7,1,5,8)
我需要将数据框中的每一行与向量进行比较。当数据框中的值达到或超过向量中的值时,我需要返回列名。输出将是:
a b c d cols
10 1 5 4 a,b,c #10>7, 1>=1, 5>=5
6 0 3 10 d #10>8
7 1 10 10 a,b,c,d ##7>=7, 1>=1, 10>=5, 10>-8
列 cols 可以是一个字符串,简单地列出超出值的列。
有什么聪明的方法可以做到这一点吗?我正在迁移一个旧的 Excel 函数,我可以编写一个循环或其他东西,但我认为几乎必须有更好的方法。
【问题讨论】:
标签: r