我是 R 新手(几天前开始)并且来自 STATA。当变量的值为-9时,我正在尝试创建一个循环来创建虚拟变量。我想使用循环,因为我有很多这样的变量。
在下文中,reflex_working 是我的数据框,“A7LECTUR”等是我的变量。我正在尝试使用 ifelse 函数为每个变量创建一个名为“miss_varname”的虚拟变量。
varlist<-c("A7LECTUR", "A7GROASG", "A7RESPRJ", "A7WORPLC", "A7PRACTI",
"A7THEORI", "A7TEACHR", "A7PROBAL", "A7WRIASG", "A7ORALPR")
for (i in varlist){
reflex_working$miss_[i]<-ifelse(reflex_working$i==-9,1,0)
}
每次迭代我都会收到以下警告:
1: Unknown or uninitialised column: 'miss_'.
2: Unknown or uninitialised column: 'i'.
并且没有创建任何变量。我认为这对每个人来说都是非常微不足道的事情,但我在过去的一个小时里一直在尝试创建这种循环并且显示零结果。
编辑:我有类似的东西:
A7LECTUR
1
2
1
4
-9
并且希望在循环之后有一个新列,例如:
reflex_working$miss_A7LECTUR
0
0
0
0
1
希望这有助于澄清我想要实现的目标!任何帮助将不胜感激。
加布里埃尔