在 r 中,我试图弄清楚如何查找 A、B、C、D 等中包含哪些区域。例如,A 包含 540、300、330。而 C 包含区域 330。
我想将它们保存到一个向量中,例如 A = [540,300,330] 和 C = [300],以及 D = [540, 330]
数据:
Area A B C D
540 Y Y
300 Y Y
330 Y Y
我正在考虑使用summaryBy语句。但这并没有给我想要的结果。
summaryBy(Area ~ A, FUN=(length))
最佳答案
您可以通过以下方式获取包含所需内容的 list()
对象:
lapply(dat[c("A","B","C","D")], function(x) dat$Area[x=="Y"] )
#$A
#[1] 540 300 330
#
#$B
#integer(0)
#
#$C
#[1] 300
#
#$D
#[1] 540 330
几乎没有理由填充单独的 A
、B
等变量。
如果您想要一个包含值和索引的“整洁”2 列数据框,您可以将上述内容包装在 stack(...)
中。
关于从数据创建 R 向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44318742/