正确过滤子集 R
correct filtering whith subset R
我正在尝试对数据进行子集化,但似乎我做错了什么。
我的数据是带有header的一列数据,例如:
platform
========
service
vps
dedic
dedic
vps
service
dedic
....
...
..
.
我从一个大数据集中得到它:
servertype<- mydata[c(18)] #it was 18th variale
现在我正在尝试过滤它并仅对我需要的子集进行子集化,省略所有 "services"
servertype <- subset(servertype, platform=="dedicated" | platform=="vps")
我希望得到类似的东西:
platform
========
vps
dedic
dedic
vps
dedic
....
...
..
.
通过检查数据,这正是我得到的结果
但是当我检查摘要时,我得到
> summary(servertype)
platform
dedicated:8564
service : 0
vps :4677
并且在绘图时,"service" 也会出现...
我尝试重新启动 R、重新启动 session、清理数据等。:)
但没有变化,我想有条件的子集没有按我预期的那样工作?
还有其他办法吗?
我想你需要的就是这个。如果原始列是一个因子,子集列将保留所有原始因子水平。通过再次应用因子函数删除它们。
Drop factor levels in a subsetted data frame
再次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
我正在尝试对数据进行子集化,但似乎我做错了什么。
我的数据是带有header的一列数据,例如:
platform
========
service
vps
dedic
dedic
vps
service
dedic
....
...
..
.
我从一个大数据集中得到它:
servertype<- mydata[c(18)] #it was 18th variale
现在我正在尝试过滤它并仅对我需要的子集进行子集化,省略所有 "services"
servertype <- subset(servertype, platform=="dedicated" | platform=="vps")
我希望得到类似的东西:
platform
========
vps
dedic
dedic
vps
dedic
....
...
..
.
通过检查数据,这正是我得到的结果
但是当我检查摘要时,我得到
> summary(servertype)
platform
dedicated:8564
service : 0
vps :4677
并且在绘图时,"service" 也会出现...
我尝试重新启动 R、重新启动 session、清理数据等。:)
但没有变化,我想有条件的子集没有按我预期的那样工作? 还有其他办法吗?
我想你需要的就是这个。如果原始列是一个因子,子集列将保留所有原始因子水平。通过再次应用因子函数删除它们。
Drop factor levels in a subsetted data frame
再次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