【发布时间】:2015-08-30 20:42:36
【问题描述】:
我需要从 R 中的数据框中删除变量。我的数据有一列包含 18 个因子:
- 农业
- 渔业 ...
- 未分类
在创建虚拟变量之前,我需要删除因子 #18 来表示“X 人在 Y 行业工作”。也就是说,我只需要保留前 17 个级别(分类级别)
在Stata中删除级别将是
drop if rama1 == 99
(rama1 是因子列,99 是“未分类”)
然后在 Stata 中创建虚拟变量(每个行业一个二进制变量),我运行:
quietly tabulate rama1, generate(rama1_)
在 R 中是:
for(i in unique(data$rama1)) {
data[paste("type", i, sep="")] <- ifelse(data$rama1 == i, 1, 0)
}
有什么想法吗?非常欢迎您的帮助
【问题讨论】:
-
为什么不只是
data<-data[rama1!="unclassified"]... -
我试过了,但什么也没做:S
-
删除具有给定因子级别的所有元素不会删除该级别,您必须再次使用
factor(...)来执行此操作。 -
如何调整数据