我正在尝试子集数据。
这里是样本数据的链接: https://drive.google.com/file/d/0BwIbultIWxeVOFdRaE81Nm9qc2s/view?usp=sharing
因此,在此数据集中,最后一列的名称为"Type"
,其中包含两个值:"normal."
和"back."
并且假设我根据"Type"
列进行了子集化:
test.data = read.csv(file = paste0(dd, '/data_example.csv'))
test.subdata1 = subset(test.data, test.data$Type == 'normal.')
test.subdata2 = test.data[test.data$Type == 'normal.',]
在这里,我使用两种最常用的方法进行子集化:
使用subset()
直接过滤[]
Type ``"normal."
的数据(这个词后面有一段时间)
事实上,当我查看子集数据表时,只有"normal."
个存在。
然而,事实是,"back."
类信息保留在我的子集数据中,如下面的输出所示:
str(test.subdata1$Type)
# Factor w/ 2 levels "back.","normal.": 2 2 2 2 2 2 2 2 2 2 ...
str(test.subdata2$Type)
# Factor w/ 2 levels "back.","normal.": 2 2 2 2 2 2 2 2 2 2 ...
所以我使用哪种子集化方法无关紧要,原始数据集中的完整信息将保留在我的子集数据集中。
我的问题是: 如何摆脱原始数据集中的额外信息我不想保留在我的子集数据集中?
意思是,我怎样才能在子集数据中看到1个因子级别而不是2个因子级别?
答案 0 :(得分:0)
# Is this what you need?
test.subdata1$Type = as.factor(as.integer(test.subdata1$Type))
# or maybe
test.subdata1$Type = factor(test.subdata1$Type)