不使用 R 中方差分析中的所有组
Not using all groups in ANOVA in R
我想在 R 中做方差分析,我的数据集是这样的:
Sample Protein1 Workout
1 1.213 0
2 2.653 -
3 3.241 NA
4 5.362 +
5 3.532 N
所以有 5 个组(NA、0、-、+、N),当我在 R 中执行方差分析时,它不使用 NA 组。但我也不想使用 0 组。有没有办法做到这一点,或者我必须做一个没有 0 组的新数据集?
这是我现在的代码(我有 92 种蛋白质):
x <- data.frame(p.value=sapply(df[,2:93], function(i) summary(aov(i ~ df$X.Workout))[[1]][["Pr(>F)"]][[1]]))
x[x$p.value < 0.05/92,,drop=F]
当我想更改我的年龄列中的数据时,还注意到另一个问题。在我的专栏中有
25-35
35-45
45-55
25-35
35-45
35-45
25-35
35-45
45-55
等等。我想将 35-45 和 45-55 更改为 35+ 但是当我写
df$X.Age[df$X.Age == "45-55"] <- "35+"
我得到以下
In `[<-.factor`(`*tmp*`, df$X.Age == "45-55", value = c(1L, 1L, :
invalid factor level, NA generated
如果您还想排除它,您可以将 0 的数据更改为 NA:
df$Workout[df$Workout == "0"] <- NA
或过滤您的数据:
df <- df[df$Workout!=0, ]
我想在 R 中做方差分析,我的数据集是这样的:
Sample Protein1 Workout
1 1.213 0
2 2.653 -
3 3.241 NA
4 5.362 +
5 3.532 N
所以有 5 个组(NA、0、-、+、N),当我在 R 中执行方差分析时,它不使用 NA 组。但我也不想使用 0 组。有没有办法做到这一点,或者我必须做一个没有 0 组的新数据集?
这是我现在的代码(我有 92 种蛋白质):
x <- data.frame(p.value=sapply(df[,2:93], function(i) summary(aov(i ~ df$X.Workout))[[1]][["Pr(>F)"]][[1]]))
x[x$p.value < 0.05/92,,drop=F]
当我想更改我的年龄列中的数据时,还注意到另一个问题。在我的专栏中有
25-35
35-45
45-55
25-35
35-45
35-45
25-35
35-45
45-55
等等。我想将 35-45 和 45-55 更改为 35+ 但是当我写
df$X.Age[df$X.Age == "45-55"] <- "35+"
我得到以下
In `[<-.factor`(`*tmp*`, df$X.Age == "45-55", value = c(1L, 1L, :
invalid factor level, NA generated
如果您还想排除它,您可以将 0 的数据更改为 NA:
df$Workout[df$Workout == "0"] <- NA
或过滤您的数据:
df <- df[df$Workout!=0, ]