根据原始数据帧的两列之间的条件创建新的数据帧[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据原始数据帧的两列之间的条件创建新的数据帧[关闭]相关的知识,希望对你有一定的参考价值。

我有一个3列的数据框,如下所示:

X Y Z 1 4 2 2 3 3 3 1 4

我想如下创建数据框:

X Y Z=(X+1) 1 4 NA 2 3 2 3 1 NA

我尝试过的代码如下:

library(dplyr) chk4 %>% chk5 chk4 %>% if(X == Z) mutate(# Z value to Y where X = Y)

答案
如果要在Z列中的值替换为X中的值,如果Y值等于Z,则为NA,否则请执行:

df$Z = ifelse( df$Z == df$Y, df$X, NA)

其中df是您的数据帧。

示例:

df = data.frame(X = c(1,2,3), Y = c(4,3,1), Z = c(2,3,4)) df$Z = ifelse( df$Z == df$Y, df$X, NA) df X Y Z 1 1 4 NA 2 2 3 2 3 3 1 NA

以上是关于根据原始数据帧的两列之间的条件创建新的数据帧[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我们可以同时预测数据帧的两列吗?

连接单独处理的火花数据帧的两列时的顺序保证是啥?

按时间戳列过滤/选择熊猫数据帧的行

如何根据一个数据帧中的列值和R中另一个数据帧的列标题名称有条件地创建新列

我们如何组合来自相同 data_type 的数据帧的两列的值并获取每个元素的计数?

如何根据 R 中的原始文件名将包含多个数据帧的大列表保存为单个 csv