2012-03-30 74 views
0

I'v以下输出llply函数reshape列表提取元素

df <- 
structure(list(Loc1 = structure(list(tables = structure(list(
    `Grand mean` = 6.86966666666667, Entry = structure(c(5.67, 
    7.375, 6.465, 5.95, 6.695, 5.875, 7.46, 6.17, 8.555, 5.415, 
    7.91, 7.815, 6.415, 8.035, 7.24), .Dim = 15L, .Dimnames = structure(list(
     Entry = c("1", "2", "3", "4", "5", "6", "7", "8", "9", 
     "10", "11", "12", "13", "14", "15")), .Names = "Entry"), class = "mtable")), .Names = c("Grand mean", 
"Entry")), n = structure(2L, .Names = "Entry"), se = structure(list(
    Entry = structure(0.536212022742248, .Dim = c(1L, 1L), .Dimnames = list(
     "2", "2"))), .Names = "Entry", type = "means", class = "mtable")), .Names = c("tables", 
"n", "se"), type = "means", class = c("tables_aov", "list.of" 
)), Loc2 = structure(list(tables = structure(list(`Grand mean` = 7.42966666666667, 
    Entry = structure(c(7.95, 6.595, 7.07, 9.35, 8.355, 6.955, 
    7.435, 7.42, 7.83, 7.105, 8.64, 6.16, 7.85, 7.17, 5.56), .Dim = 15L, .Dimnames = structure(list(
     Entry = c("1", "2", "3", "4", "5", "6", "7", "8", "9", 
     "10", "11", "12", "13", "14", "15")), .Names = "Entry"), class = "mtable")), .Names = c("Grand mean", 
"Entry")), n = structure(2L, .Names = "Entry"), se = structure(list(
    Entry = structure(0.565181386813118, .Dim = c(1L, 1L), .Dimnames = list(
     "2", "2"))), .Names = "Entry", type = "means", class = "mtable")), .Names = c("tables", 
"n", "se"), type = "means", class = c("tables_aov", "list.of" 
)), Loc3 = structure(list(tables = structure(list(`Grand mean` = 3.6391, 
    Entry = structure(c(3.788, 4.7345, 3.5905, 3.6285, 3.954, 
    3.533, 0.824500000000001, 4, 3.3295, 3.413, 3.1815, 3.744, 
    4.821, 4.5695, 3.475), .Dim = 15L, .Dimnames = structure(list(
     Entry = c("1", "2", "3", "4", "5", "6", "7", "8", "9", 
     "10", "11", "12", "13", "14", "15")), .Names = "Entry"), class = "mtable")), .Names = c("Grand mean", 
"Entry")), n = structure(2L, .Names = "Entry"), se = structure(list(
    Entry = structure(0.519259954165541, .Dim = c(1L, 1L), .Dimnames = list(
     "2", "2"))), .Names = "Entry", type = "means", class = "mtable")), .Names = c("tables", 
"n", "se"), type = "means", class = c("tables_aov", "list.of" 
)), Loc4 = structure(list(tables = structure(list(`Grand mean` = 3.41326666666667, 
    Entry = structure(c(2.967, 4.089, 3.244, 2.581, 3.133, 2.874, 
    3.321, 3.7065, 3.475, 3.9375, 3.5265, 2.992, 4.3175, 3.26, 
    3.775), .Dim = 15L, .Dimnames = structure(list(Entry = c("1", 
    "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", 
    "13", "14", "15")), .Names = "Entry"), class = "mtable")), .Names = c("Grand mean", 
"Entry")), n = structure(2L, .Names = "Entry"), se = structure(list(
    Entry = structure(0.527952523118004, .Dim = c(1L, 1L), .Dimnames = list(
     "2", "2"))), .Names = "Entry", type = "means", class = "mtable")), .Names = c("tables", 
"n", "se"), type = "means", class = c("tables_aov", "list.of" 
)), Loc5 = structure(list(tables = structure(list(`Grand mean` = 3.6835, 
    Entry = structure(c(3.504, 3.149, 3.2595, 4.0985, 3.42, 4.007, 
    4.7835, 3.6615, 3.8575, 3.0235, 4.5785, 2.6305, 3.4685, 3.395, 
    4.416), .Dim = 15L, .Dimnames = structure(list(Entry = c("1", 
    "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", 
    "13", "14", "15")), .Names = "Entry"), class = "mtable")), .Names = c("Grand mean", 
"Entry")), n = structure(2L, .Names = "Entry"), se = structure(list(
    Entry = structure(0.371149430822681, .Dim = c(1L, 1L), .Dimnames = list(
     "2", "2"))), .Names = "Entry", type = "means", class = "mtable")), .Names = c("tables", 
"n", "se"), type = "means", class = c("tables_aov", "list.of" 
)), Loc6 = structure(list(tables = structure(list(`Grand mean` = 3.22453333333333, 
    Entry = structure(c(3.4805, 2.6675, 2.82, 3.5555, 2.436, 
    3.323, 2.8595, 3.259, 3.713, 2.79, 3.213, 4.0015, 3.317, 
    3.654, 3.2785), .Dim = 15L, .Dimnames = structure(list(Entry = c("1", 
    "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", 
    "13", "14", "15")), .Names = "Entry"), class = "mtable")), .Names = c("Grand mean", 
"Entry")), n = structure(2L, .Names = "Entry"), se = structure(list(
    Entry = structure(0.437812821496432, .Dim = c(1L, 1L), .Dimnames = list(
     "2", "2"))), .Names = "Entry", type = "means", class = "mtable")), .Names = c("tables", 
"n", "se"), type = "means", class = c("tables_aov", "list.of" 
))), .Names = c("Loc1", "Loc2", "Loc3", "Loc4", "Loc5", "Loc6" 
)) 

我想从列表的每个元素获得se。我可以这样做个人元素像这样

df$Loc1$se 
df$Loc2$se 
df$Loc3$se 
df$Loc4$se 
df$Loc5$se 
df$Loc6$se 

但我想通过一个电话来获得这些se。但我无法弄清楚这一点。我非常感谢你的帮助。由于

回答

2

我认为你正在寻找:

unlist(sapply(df,'[[',"se")) 

在另一方面,据我所知llplyplyrreshape的功能。

+0

感谢您的不错答复和更正。如果你在一次调用中指导我如何做到这一点'ANOVAs $ Loc1 [2,3],ANOVAs $ Loc2 [2,3] ... ...'将不胜感激。谢谢 – MYaseen208 2012-03-30 17:48:41

+0

我不明白这个问题。 (在我的例子中,我没有看到任何可能会引用这些索引的项目。) – 2012-03-30 18:03:15

+0

我想你可以用sapply(ANOVAs,'[',2,3)'做到这一点,不确定,因为我可以'我自己试试。可能需要再次将其取消。 – 2012-03-30 21:57:10

1
lapply(df, "[", "se") ........... 
+0

谢谢你的不错的答案。如果你在一次调用中指导我如何做到这个ANOVAs $ Loc1 [2,3],ANOVAs $ Loc2 [2,3] ...,将不胜感激。谢谢 – MYaseen208 2012-03-30 17:52:54

+0

使用''[''而不是''[[''确实给出了一个稍微的weirder输出,即每个元素都是一个列表,其中一个元素是标准错误。 – 2012-03-30 21:59:19

+0

是的。很好,这个学习者可以体验差异。看起来好像他投票支持你的版本,我同意这是人们通常期望的。 – 2012-03-30 22:14:42