我想在data.frame中创建一个新列,该列的值等于另一个data.frame中的值,其中每个数据帧中的两列之间都满足特定条件。
R伪代码是这样的:
DF1$Activity <- DF2$Activity where DF2$NAME == DF1$NAME
在每个data.frame $NAME列中,其值都是唯一的。
我不确定这个是否真的需要一个例子。当您创建具有一组 NA 值的列,然后在两侧分配具有相同逻辑向量的所需行时,会发生什么:
DF1$Activity <- NA
DF1$Activity[DF2$NAME == DF1$NAME] <- DF2$Activity[DF2$NAME == DF1$NAME]
Run Code Online (Sandbox Code Playgroud)
使用ifelse功能。在此,当不满足条件时,我输入NA。但是,您可以从任何向量中选择任何一个或多个值。回收规则1适用。
DF1$Activity <- ifelse(DF2$NAME == DF1$NAME, DF2$Activity, NA)
Run Code Online (Sandbox Code Playgroud)