[英]Lists and data.frame combine (same row, but different length of each column)
[英]Get a Different Column for Each Row of a data.frame
我有一个data.frame
,具有任意数量的列,并且我需要一种从每一行中获取不同列(仅一个)的方法。 例如,如果我有一个像这样的data.frame
:
myDF <- data.frame(A=letters[1:5], B=letters[6:10], C=LETTERS[26:22], stringsAsFactors=FALSE)
我想抓住字母a,g,c,W和V。
如果这是matrix
,则将很容易解决。
myDF[cbind(c(1, 2, 3, 4, 5), c(1, 2, 1, 3, 3))]
但我必须将数据存储在一个data.frame
因为数据往往是一个POSIXlt
,我还没有找到一种方法来转换data.frame
那些到的matrix
。
有没有人有一个很好的方法来做到这一点而不会逐行循环? 我有很多失败的尝试,我很乐意分享。
这很雄辩,但是可以用于特别困难的日期:
vect <- do.call(c, args=as.list(myDF))
vect[(1:NROW(myDF)) + NROW(myDF) * (c(1, 2, 1, 3, 3) - 1)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.