如何用 1 和 0 覆盖 R 中的一列字符?
How do I overwrite a column of characters in R with 1s and 0s?
我需要将我的数据列之一转换为二进制值。如果有空白 space,我尝试插入 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 else,那么
df$code[df$code == ""] <- 0
足以设置 0,因为 df$code == ""
会给你一个布尔向量,这些可以 select 出你想要分配 0 的条目。
我需要将我的数据列之一转换为二进制值。如果有空白 space,我尝试插入 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 else,那么
df$code[df$code == ""] <- 0
足以设置 0,因为 df$code == ""
会给你一个布尔向量,这些可以 select 出你想要分配 0 的条目。