我有一个列表子列表。每个子列表都包含一个相同的数据框(除了其中的数据外)和“是/否”标签。如果yes/no标签为TRUE,我想查找数据帧的行方式。向量化查找列表内列表中的数据帧的行平均值
#Create the data frames
id <- c("a", "b", "c")
df1 <- data.frame(id=id, data=c(1, 2, 3))
df2 <- df1
df3 <- data.frame(id=id, data=c(1000, 2000, 3000))
#Create the sublists that will store the data frame and the yes/no variable
sub1 <- list(data=df1, useMe=TRUE)
sub2 <- list(data=df2, useMe=TRUE)
sub3 <- list(data=df3, useMe=FALSE)
#Store the sublists in a main list
main <- list(sub1, sub2, sub3)
我希望有一个量化的函数将返回数据帧的逐行平均水平,但只有当$useMe==TRUE
,就像这样:
> desiredFun(main)
id data
1 a 1
2 b 2
3 c 3
当你说“相同”时,你的意思是'id'对data.frame中的每一行都是一样的,只有'data'列的值有所不同? – 2012-07-27 21:20:36
是的,这是正确的。真的每个子列表可能应该是一个对象,但我还没有深入研究R中的OOP。 – 2012-07-27 23:14:07