行意味着没有考虑NAs /空白

时间:2014-10-06 20:51:12

标签: r dataframe mean na

假设我有一个数据框

names <- c('joe','bob','john','carl')
col2 <- c(1,4,3,4)
col3 <- c(2,10,"",7)
col4 <- c(3,10,7,4)


df <- data.frame(names, col2, col3, col4)

如何让第5列显示准确的方法?

df$mean <- 0

df$mean <- rowMeans(df[, c(2:4)])

...但由于col3的str(df)是一个因素,因此计算不正确 我希望df $ mean列显示c(2,8, 5 ,5),因为第3行应该只取3和7的平均值(等于5)。我不想将“”设置为等于0,因为第三行的平均值将是3.333,这是不正确的。

1 个答案:

答案 0 :(得分:0)

尝试:

df$col3<-as.numeric(as.character(df$col3))
df$mean <- rowMeans(df[, c(2:4)],na.rm=TRUE)