R 如何在循环中选择和引用不同的数据集?

R 如何在循环中选择和引用不同的数据集?,r,R,允许我生成特定于数据集的平均表。但是我如何引用这个表,例如,avg_a表的每一列都有df_a表的平均值 正如@gregor thomas和@sotos所指出的,从循环切换到列表尤其是命名列表是关键。因为这个问题仍然悬而未决,让我用您的示例数据和使用purr而不是lappy解决方案给您一个完整的答案 图书馆咕噜声 您的示例数据 df_a$avg_c >q_1 q_2 q_3 > 3 3 3 3 这是使它们成为dfs的附加步骤 purrr::mapdf_列表,~colMean

允许我生成特定于数据集的平均表。但是我如何引用这个表,例如,avg_a表的每一列都有df_a表的平均值

正如@gregor thomas和@sotos所指出的,从循环切换到列表尤其是命名列表是关键。因为这个问题仍然悬而未决,让我用您的示例数据和使用purr而不是lappy解决方案给您一个完整的答案

图书馆咕噜声 您的示例数据 df_a$avg_c >q_1 q_2 q_3 > 3 3 3 3 这是使它们成为dfs的附加步骤 purrr::mapdf_列表,~colMeans.%>%purrr::map~as.data.frame。 >$avg_a >q_1 q_2 q_3 NA > 1 1 1 1 1 > >$avg_b >q_1 q_2 q_3 NA > 1 2 2 2 2 > >$avg_c >q_1 q_2 q_3 NA > 1 3 3 3 3
正如@gregor thomas和@sotos所指出的,从循环切换到列表尤其是命名列表是关键。因为这个问题仍然悬而未决,让我用您的示例数据和使用purr而不是lappy解决方案给您一个完整的答案

图书馆咕噜声 您的示例数据 df_a$avg_c >q_1 q_2 q_3 > 3 3 3 3 这是使它们成为dfs的附加步骤 purrr::mapdf_列表,~colMeans.%>%purrr::map~as.data.frame。 >$avg_a >q_1 q_2 q_3 NA > 1 1 1 1 1 > >$avg_b >q_1 q_2 q_3 NA > 1 2 2 2 2 > >$avg_c >q_1 q_2 q_3 NA > 1 3 3 3 3
最好的选择是把它们放在一个列表中,然后在这个列表上循环。类似于setNameslapplylistdf_a、df_b、df_c、colMeans、paste0'avg_',c'a',b',c'a一般注意:尽量避免foor循环。使用apply系列中的一个函数。将你的。最好的选择是将它们放在一个列表中,然后在该列表上循环。类似于setNameslapplylistdf_a、df_b、df_c、colMeans、paste0'avg_',c'a',b',c'a一般注意:尽量避免foor循环。使用应用族中的一个函数。
df_a <- data.frame(matrix(nrow = 4,ncol = 4,1))
df_b <- data.frame(matrix(nrow = 4,ncol = 4,2))
df_c <- data.frame(matrix(nrow = 4,ncol = 4,3))
colnames(df_a) <- colnames(df_b) <- colnames(df_c) <- c("q_1","q_2","q_3")
avg_a <- data.frame(matrix(nrow = 1,ncol = 4))
colnames(avg_a) <- c("q_1","q_2","q_3","q_4")
alph <- c("a","b","c")
assign(paste("avg_",alph[i],sep = ""),data.frame(matrix(nrow = 1,ncol = 4)))