办法其实很多。重要的是那个更适合你,对你更方便。举两个方案:
1. R中base包的方案;
一般情况下我们是要依据一个factor变量把dataframe划分。这时遇到一个问题,subset(base)可以把数据划分,但对一个subset dataframe 来说, 它保留了来自原dataframe的factor变量中已经被丢弃的levels。这会给以后的分析造成麻烦。比如,依赖factor的做图、线性回归等等。所以,在划分数据集是,不可忘记要把划分后的factor也恰当的划分,去掉不该存在的levels
levels(iris$Species)
iris.set1 <- subset(iris,Species== "setosa" | Species=="versicolor")
levels(iris.set1$Species) #注意这步操作是把不该存在的levels去掉
table(iris.set1$Species)
2. 依赖NCStats包
iris.set2 <- Subset(iris,Species=="setosa" | Species=="versicolor")
levels(iris.set2$Species)
table(iris.set2$Species)
https://m.sciencenet.cn/blog-352360-345972.html
上一篇:
记着用 ddply(plyr)下一篇:
一个不错的统计学资源站点,有R的内容