R:t测试2个数据帧的行

bde*_*vic 4 statistics r dataframe t-test

我有两个dataframes,我希望做就行独立的2组的t检验(即t.test(y1, y2),其中y1是在dataframe1行和y2被匹配dataframe2行)

什么是实现这一目标的最佳方式?

编辑:我刚刚找到格式:dataframe1 [i,] dataframe2 [i,].这将循环工作.这是最好的解决方案吗?

Cha*_*ase 5

您概述的方法是合理的,只需确保预先分配您的存储向量.我会仔细检查你是否真的要比较行而不是列.我使用的大多数数据集都将每行作为一个观察单位,列代表了感兴趣的单独响应/列无论如何,它都是您的数据 - 所以如果这是您需要做的,这是一种方法:

#Fake data
df1 <- data.frame(matrix(runif(100),10))
df2 <- data.frame(matrix(runif(100),10))


#Preallocate results
testresults <- vector("list", nrow(df1))
#For loop
for (j in seq(nrow(df1))){
  testresults[[j]] <- t.test(df1[j,], df2[j,])
}
Run Code Online (Sandbox Code Playgroud)

您现在有一个列表,只要您有行df1.然后我会建议使用lapplysapply轻松地从列表对象中提取内容.