如何在R中使用这种格式的数据进行ANOVA测试?

时间:2013-11-26 02:30:32

标签: r anova

我有点困惑。我有以下格式的数据(对不起,非常难看)已导入R:

enter image description here

Anova应该像这样使用: aov(group~measurement,data = mydata)

但是,我很难让我的数据符合这种格式。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可能最初是从您拥有的CSV文件中读取数据:

df <- read.csv("FLOCKSIZES.csv")

以下示例说明如何以所需的格式获取数据。请注意,此示例在开头生成随机数据,因为到目前为止您尚未提供任何数据。如果您在上面的示例中使用read.csv,则可以跳过第一部分,然后立即继续测量连接的位置:

# Some random data similar to what you'd get from read.csv.
numSamples <- 50
df <- data.frame(time=1:numSamples, 
                 group1=rnorm(numSamples),
                 group2=rnorm(numSamples),
                 group3=rnorm(numSamples))

# Concatenate all measurements.
measurements <- c(df$group1, df$group2, df$group3)

# Create a vector that encodes the corresponding group (1 to 3) for each measurement.
# Note: Here we assume that we have the same number of samples from every group.
groups <- do.call(c, lapply(1:3, function(i) rep(i, numSamples)))

# So that you get an idea of what these vectors look like:
print(measurements)
print(groups)

# And here we go:
aov(groups ~ measurements)

答案 1 :(得分:-1)

使用csv软件包在R中读取数据,并使用reshape2软件包中的融合函数将其从宽格式转换为长格式