如果 Col 2 为真,则将 Col1 中的值复制到 Col3

if Col 2 is true copy the calues from Col1 into Col 3

我有一个数据集如下

       Id   Name   Description          Status
       1    Kyla   DataMining           Yes
       2    Kim    MonteCarlo Methods   No
       3    Kanye  Meta-Analysis        May Be
       4    Bruce  Optimization         Yes

我正在尝试创建第四列结果,如果 Status == Yes,它将存储 Description 列中的值,如果 Status == No 或 May Be,那么它只会复制 Status 中的值,即 No 或 May是。最终的数据集应该是这样的

       Id   Name   Description          Status      Result
       1    Kyla   DataMining           Yes         DataMining
       2    Kim    MonteCarlo Methods   No          No
       3    Kanye  Meta-Analysis        May Be      May Be
       4    Bruce  Optimization         Yes         Optimization

到目前为止,我厌倦了使用 ifelse

       data1$Result <- ifelse(data1$Status == "Yes", data1$Description, data1$Status)

我没有收到任何错误,但我也没有得到正确的结果,我看到了一些完全不相关的数字??需要一些帮助。

这是因为您的变量 DescriptionStatus 存储为因子。您可以使用 str(data1) 查看此内容。尝试先使用 as.character() 将其转换为字符。

data1$Status<-as.character(data1$Status)
data1$Description<-as.character(data1$Description)