繁体   English   中英

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

[英]How do I overwrite a column of characters in R with 1s and 0s?

我需要将数据的列之一转换为二进制值。 如果有空格,我试图插入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
}

只需df$code <- as.numeric(df$code != '')就足够了。

如果您确实需要使用if,那么

df$code[df$code == ""] <- 0

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM