我试图对数据进行分组,但似乎我做错了。
我的数据是一个列数据,标题如下:
platform
========
service
vps
dedic
dedic
vps
service
dedic
....
...
..
.
我从以下大数据集中得到了它:
servertype<- mydata[c(18)] #it was 18th variale
现在我试图过滤它并仅将我需要的内容分组,省略所有&#34;服务&#34;
servertype <- subset(servertype, platform=="dedicated" | platform=="vps")
我希望得到类似的东西:
platform
========
vps
dedic
dedic
vps
dedic
....
...
..
.
通过检查数据,这正是我得到的
但是当我查看摘要时,我正在
> summary(servertype)
platform
dedicated:8564
service : 0
vps :4677
当绘图时,&#34;服务&#34;也出现了......
我尝试重启R,重启会话,清理数据等。:)
但是没有变化,我认为条件的子集不能像我预期的那样工作? 还有其他方法吗?
答案 0 :(得分:2)
再次factor
数据:
#sample data
mydata = data.frame( platform = c('service','vps','dedic','dedic','vps','service','dedic'))
#subset
mydata = subset(mydata, mydata$platform != 'service' )
#factor the data again
mydata$platform = factor(mydata$platform)
#check plot
plot(mydata)
初始数据有3个因素。要使用新的因子级别进行计算,只需对数据重新运行factor
。
新数据只有两个因子水平。
> summary(mydata)
platform
dedic:3
vps :2
答案 1 :(得分:1)
我认为你需要的是这个。如果原始列是一个因子,子集列将保留所有原始因子级别。再次应用因子函数删除它们。