2012-03-30 5 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" 
)) 

Я хочу получить информацию из каждого элемента списка. Я могу сделать это для отдельных элементов, подобных этому

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

Но я хочу получить их одним звонком. Но я не могу этого понять. Я был бы очень признателен за вашу помощь в этом. Благодаря

ответ

2

Я думаю, что вы ищете:

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

На другой ноте, насколько я знаю, llply является функцией plyr не reshape.

+0

Спасибо за приятный ответ и исправление. Был бы признателен, если вы посоветуете мне, как это сделать: «ANOVAs $ Loc1 [2, 3], ANOVAs $ Loc2 [2, 3], ...' за один вызов. Спасибо – MYaseen208

+0

Я не понимаю вопроса. (Я ничего не вижу в вашем примере, у которого был бы элемент, на который можно было бы ссылаться на эти индексы.) –

+0

Я думаю, вы можете сделать это с помощью 'sapply (ANOVAs, '[', 2,3)', не уверен, Попробуйте сами. Возможно, нужно снова перечислить его. –

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

Спасибо за хороший ответ. Был бы признателен, если вы посоветуете мне, как сделать это ANOVA $ Loc1 [2, 3], ANOVAs $ Loc2 [2, 3], ... за один звонок. Спасибо – MYaseen208

+0

Использование '' [''а не' '[['' дает немного более сложный вывод, а именно список, в котором каждый элемент представляет собой список с одним элементом, который является стандартной ошибкой. –

+0

Да. Хорошо, что этот ученик может почувствовать разницу. Кажется, он голосует за вашу версию, и я согласен с тем, что люди обычно ожидают. –