不使用R中ANOVA中的所有组

时间:2015-07-01 15:03:06

标签: r anova

我想在R中做一个ANOVA我的数据集是这样的:

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中进行ANOVA时,它不会使用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

1 个答案:

答案 0 :(得分:0)

如果您还想将数据排除在外,则可以将数据更改为0:

df$Workout[df$Workout == "0"] <- NA

或过滤您的数据:

df <- df[df$Workout!=0, ]