我需要将我的数据中的一列转换为二进制值。我想在有空格时插入0,如果有字符串则插入1。
我的数据目前看起来像这样:
Name Code
Bob
Joe f59tuc
Anna
Kylie
Jill hyt618
Ben skt310
我正在尝试将其转换为:
name code
Bob 0
Joe 1
Anna 0
Kylie 0
Jill 1
Ben 1
我尝试了这个if语句,但是得到了错误。我是R的新手,对if语句,while循环,for循环等有很少的经验 - 所以在代码中可能会有一些我没想到的明显错误。任何帮助都将非常感激。
if (df$code[df$code == ""]) {
df$code[df$code] <- 0
}
else {
df$code[df$code] <- 1
}
答案 0 :(得分:7)
对于这种情况,只需df$code <- as.numeric(df$code != '')
即可。
如果你真的需要使用if else,那么
df$code[df$code == ""] <- 0
足以设置0,因为df$code == ""
会给你一个bool矢量,这些可以选择你想要分配0的条目。