【发布时间】:2015-04-03 21:19:05
【问题描述】:
我正在尝试使用 colClasses='character' 选项对我通过 read.table 导入的数据框进行子集化。
小样本数据可以found here
Full99<-read.csv("File.csv",header=TRUE,colClasses='character')
删除重复项、缺失值和所有不必要的列后,我得到了这些维度的数据框:
>dim(NoMissNoDup99)
[1] 81551 6
我有兴趣减少数据以仅包含特定 Service.Type 的观察结果
我已经尝试过使用子集函数:
MU99<-subset(NoMissNoDup99,Service.Type=='Apartment'|
Service.Type=='Duplex'|
Service.Type=='Triplex'|
Service.Type=='Fourplex',
select=Service.Type:X.13)
dim(MU99)
[1] 0 6
MU99<-NoMissNoDup99[which(NoMissNoDup99$Service.Type!='Hospital'
& NoMissNoDup99$Service.Type!= 'Hotel or Motel'
& NoMissNoDup99$Service.Type!= 'Industry'
& NoMissNoDup99$Service.Type!= 'Micellaneous'
& NoMissNoDup99$Service.Type!= 'Parks & Municipals'
& NoMissNoDup99$Service.Type!= 'Restaurant'
& NoMissNoDup99$Service.Type!= 'School or Church or Charity'
& NoMissNoDup99$Service.Type!='Single Residence'),]
但这不会消除观察结果。
我尝试过同样的方法,但稍作调整......
MU99<-NoMissNoDup99[which(NoMissNoDup99$Service.Type=='Apartment'
|NoMissNoDup99$Service.Type=='Duplex'
|NoMissNoDup99$Service.Type=='Triplex'
|NoMissNoDup99$Service.Type=='Fourplex'), ]
但这会删除所有观察结果...
最终的子集应该有大约 8000 个观测值
我对 R 和 Stack Overflow 还很陌生,所以如果有一些我忽略的发布惯例,我深表歉意,但如果有人有灵丹妙药让这些数据进行合作,我会很喜欢你的见解:)
【问题讨论】:
-
您指向数据样本的链接已损坏。
-
检查列名的拼写。如果他们有前导或尾随空间,那将是一个(不愉快的)惊喜。
subset看起来应该成功了。