我想在data.frame中添加一行:
x<-data.frame(sex=c("male","female"),number=c(2340,1890))
z<-data.frame(x,prop=x$number/sum(x$number))
z[3,]<-c("total",sum(z$number),sum(z[,3]))
Warning message:
In `[<-.factor`(`*tmp*`, iseq, value = "total") :
z
sex number prop
1 male 2340 0.553191489361702
2 female 1890 0.446808510638298
3 <NA> 4230 1
> z[3,1]<-"total"
Warning message:
In `[<-.factor`(`*tmp*`, iseq, value = "total") :
invalid factor level, NA generated
如何将z[3,1]
更改为“总数”?
答案 0 :(得分:2)
首先将级别添加到因子(后跟您的代码行):
levels(z$sex) = c(levels(z$sex), "total")
或者,如果您不需要该列作为因素:
z$sex = as.character(z$sex)