使用R中的If then逻辑创建一个新变量



我正在处理R中的一个数据集,但缺少一些值。我正试图弄清楚如何创建遵循以下逻辑"z"的新变量(z(;如果Y有一个缺失值,那么Z的输出为0,如果Y没有缺失值,则输出为1。注意,请参阅下面的示例。

(原始输出

x----y
1    abc
2    svc
3    (blank)
4    ads 
5    (blank)
6     adf

(期望输出(

x----y---------z
1    abc       1
2    svc       1
3    (blank)   0
4    ads       1
5    (blank)   0
6     adf      1

确保y中丢失的值在数据帧中编码为NA,然后可以使用ifelse函数将新列z分配给数据帧df

df$z <- ifelse(is.na(df$y), 0, 1)

尝试下面的代码

df$z <- +nzchar(df$y)

根据空白值是NA还是字符串,您需要使用

df$z <- ifelse(is.na(df$y), 0, 1)

如果字符串包含单词"空白">

df$z <- ifelse(df$y=='blank', 0, 1)

最新更新