R 将输出从一个函数链接到另一个函数?

R 将输出从一个函数链接到另一个函数?,r,anova,R,Anova,我试图使用compute.es包的mes()函数计算方差分析的效应大小。 mes()-函数需要两组的平均值、SD和N。我可以通过(myDF$var1,myDF$var2,“stat.desc”)函数获取这些值。此工作流创建一个表,我必须手动将by()结果中的值复制并粘贴到mes()函数中 这对于一些ANOVA是可行的,但是我还需要另外做50个ANOVA,所以我正在寻找一种方法以编程方式将这些方法链接在一起。有人知道怎么做吗? by()-方法可以随意更改,只有mes()方法对我很重要 举个简单的例

我试图使用
compute.es
包的
mes()
函数计算方差分析的效应大小。
mes()
-函数需要两组的平均值、SD和N。我可以通过(myDF$var1,myDF$var2,“stat.desc”)函数获取这些值。此工作流创建一个表,我必须手动将
by()
结果中的值复制并粘贴到
mes()
函数中

这对于一些ANOVA是可行的,但是我还需要另外做50个ANOVA,所以我正在寻找一种方法以编程方式将这些方法链接在一起。有人知道怎么做吗?
by()
-方法可以随意更改,只有
mes()
方法对我很重要

举个简单的例子:

library(compute.es)
library(pastecs)


v1 <- c(1,1,2,2)
v2 <- c(1,2,3,4)

df <- data.frame(v1,v2)

#I would execute this first, look for the values in the output and paste it to mes()
#I am using by() here because I knew it - there is almost certainly a better way...
print(by(df$v2, df$v1, stat.desc))

#I would like to insert these numbers automatically
print(mes(1.50,3.50,0.71,0.71 ,2,2))
库(compute.es)
图书馆(pastecs)

v1您可以通过调用适当的函数以编程方式执行此操作:

mes(mean(df[,1]), mean(df[,2]), sd(df[,1]), sd(df[,2]), nrow(df), nrow(df))

您可以通过调用适当的函数以编程方式执行此操作:

mes(mean(df[,1]), mean(df[,2]), sd(df[,1]), sd(df[,2]), nrow(df), nrow(df))

还要注意,
by
是一个列表,可以访问各个元素(@scott Ritchie的方法更加精简):


out还请注意,
by
是一个列表,可以访问各个元素(@scott Ritchie的方法更加精简):


一个可复制的例子将大大有助于帮助那些想在这里提供帮助的人。@AriB.Friedman你绝对正确-请原谅遗漏一个可复制的例子将大大有助于帮助那些想在这里提供帮助的人。@AriB.Friedman你绝对正确-请原谅遗漏,这很简单-我可以打我自己,因为我没有立即想到它…我们都有那些日子Sugh,这很简单-我可以打我自己,因为我没有立即想到它…我们都有那些日子谢谢!我已经接受了Scotts的答案,因为这是一个更干净的答案,但我会尽量记住你的解决方案,以备将来参考。谢谢!我已经接受了斯科特的答案,因为这是一个更干净的答案,但我会尽量记住你的解决方案,以备将来参考。