r-格式化用于统计分析的数据帧



我想做的是测试一个响应和一个解释变量之间的统计关系。为此,我认为单因素方差分析是一种有效的方法。然而,我的数据帧并没有设置为这样做。我有一列用于响应变量(df1),但有几列将被分类到下面我想要的解释变量(df2和df3)中。作为一个粗略的例子,df2和df3在两个不同的位置表示一个季节(夏天)。在这种情况下,我将如何测试夏季对响应变量的影响?

df1 <- as.data.frame(matrix(sample(0:1000, 36*10, replace=TRUE), ncol=1))
df2 <- as.data.frame(matrix(sample(0:500, 36*10, replace=TRUE), ncol=1))
df3 <- as.data.frame(matrix(sample(0:200, 36*10, replace=TRUE), ncol=1))
Example <- cbind(df1,df2,df3)

这会涉及到重组数据帧,使df2和df3合并为一个长列,并使df1的长度增加一倍吗?

提前感谢您的帮助!

正如Jaap和Andrew Taylor所建议的,问题是格式化线性回归。这是通过"stack"one_answers"cbind"函数实现的。

df1 <- as.data.frame(matrix(sample(0:1000, 36*10, replace=TRUE), ncol=1))
df2 <- as.data.frame(matrix(sample(0:500, 36*10, replace=TRUE), ncol=1))
df3 <- as.data.frame(matrix(sample(0:200, 36*10, replace=TRUE), ncol=1))
Example <- cbind(df2,df3)
Stacked <- stack(Example)
Combined <- cbind(df1,Stacked)
colnames(Combined) <- c("Response","Explanatory","Variable")
Linear <- lm(Explanatory~Response, data = Combined)
summary(Linear)

Stack将所有解释变量(df2和df3)放在一列中,而cbind将这个新列与响应(df1)中的值组合在一起,根据SabDeM的注释,这些值被复制以创建具有偶数行的数据帧。

最新更新