我一直很难找到一个简洁的方法来迭代多个 Dataframe 在R的单向方差分析。所有的 Dataframe 我正在使用具有相同的格式,但我试图找出如何把他们都到一个列表中,然后选择一个变量的数据内选择方差分析。我试图使用的代码如下,我'我需要一些指导,告诉我如何实际设置for循环来迭代 Dataframe 列表,以便在需要更改的只是 Dataframe 时保存反复重写/粘贴相同代码的时间。
df<- list(data.1, data.2, data.3, etc)
#treatment and output are examples of my column titles
for(i in df)
{
oneway <- aov(df[i[Treatment]] ~ output, data = df[i]) }
我希望它能让我在列表的数据框中选择一列,但它一直没有工作。我是r的新手,欢迎任何和所有的建议!
2条答案
按热度按时间2vuwiymt1#
我相信还有更优雅的解决方案,但是如果您想坚持使用
for
循环,可以尝试下面的方法,其中我使用默认的iris
数据在所有列上运行aov()
forSpecies
。结果是一个嵌套列表,外部列表的长度为3(数据集的数量),每个内部列表的长度为4(列的数量减去
Species
)。vxf3dgd42#
下面是使用@jpsmith答案中的数据得出的一个简短的解决方案: