Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如果第2列为真,则将计算从第1列复制到第3列_R_If Statement_Dplyr - Fatal编程技术网

R 如果第2列为真,则将计算从第1列复制到第3列

R 如果第2列为真,则将计算从第1列复制到第3列,r,if-statement,dplyr,R,If Statement,Dplyr,我有一个数据集,如下所示 Id Name Description Status 1 Kyla DataMining Yes 2 Kim MonteCarlo Methods No 3 Kanye Meta-Analysis May Be 4 Bruce Optimization Yes 我试图创建第四列结果,

我有一个数据集,如下所示

       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或可能是,则它将只从状态复制值(不)或可能是。最终的数据集应该如下所示

       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)

data1$Result这是因为变量
Description
Status
存储为因子。您可以使用
str(data1)
看到这一点。首先尝试使用
as.character()
将其转换为字符


data1$status我觉得你的行是对的。提供您的数据集和您获得的结果。这更像是猜测,但如果描述和状态变量存储为因子,您可能会出现奇怪的行为。因为我很难预测这些问题何时会发生,所以我习惯于确保字符串数据存储为character(而不是factor)类。如果首先指定data$Description=as.character(data$Description)和data$Status=as.character(data$Status),结果是否会改善?@nicola,每次我执行dput(head(mydataset))时,我都会看到5个以上的观察结果,这就是我无法粘贴实际结果的原因dataset@MarkTPatterson,事情就是这样。把它们改成character就行了:)你也可以匹配因子级别,而不需要转换成character,我认为你是对的。我没有读过
我看到了一些完全不相关的数字?
@Metric,而且你们都是对的,这是该死的因素,从一个因素到另一个角色的变化起了作用:)
data1$Status<-as.character(data1$Status)
data1$Description<-as.character(data1$Description)