如何用1和0覆盖R中的一列字符?

sil*_*ght 2 binary if-statement r data-conversion

我需要将我的数据的一列转换为二进制值.如果有空格,我试图插入0,如果有一个字符串,我试图插入1.

我的数据目前看起来像这样:

Name     Code
Bob      
Joe     f59tuc
Anna    
Kylie
Jill    hyt618
Ben     skt310
Run Code Online (Sandbox Code Playgroud)

我试图将其转换为:

name     code
Bob       0
Joe       1
Anna      0
Kylie     0
Jill      1
Ben       1
Run Code Online (Sandbox Code Playgroud)

我尝试了这个if语句,但是得到了错误.我是R的新手,对if语句,while循环,for循环等有很少的经验 - 所以在代码中可能会有一些我没想到的明显错误.非常感激任何的帮助.

if (df$code[df$code == ""]) {
    df$code[df$code] <- 0
} 
else {
    df$code[df$code] <- 1
}
Run Code Online (Sandbox Code Playgroud)

zw3*_*324 7

只是df$code <- as.numeric(df$code != '')就足够了这种情况.

如果你真的需要使用if else,那么

df$code[df$code == ""] <- 0
Run Code Online (Sandbox Code Playgroud)

设置0就足够了,因为它df$code == ""会给你一个bool矢量,这些可以选择你想要分配0的条目.