gpt4 book ai didi

r - 将两列中的数据合并为R中的一列

转载 作者:行者123 更新时间:2023-12-02 00:11:50 25 4
gpt4 key购买 nike

合并两个单独的数据集后,我在数据集中有两列。我想将这些列合并为一列,BNR.x。

对于下面列出的案例,我希望的结果是:
1. 没有。 BNR.x有数据,没问题。
2. 没有。两列中的数据相同,没关系。
3. BNR.y的数据复制到BNR.x
4. 没有。与 2 相同。
5.列中的数据不同。最好我会在这一行中得到一个带有 1 个 FALSE 的额外列作为警告。
6. 没有数据。最好我也会在这里收到警告,通知我我没有该项目的任何数据。

+----+-------+-------+
| ID | BNR.x | BNR.y |
+----+-------+-------+
| 1 | 123 | NA |
| 2 | 234 | 234 |
| 3 | NA | 345 |
| 4 | 456 | 456 |
| 5 | 678 | 677 |
| 6 | NA | NA |
+----+-------+-------+

是否有方法或程序包可以为我执行此操作?

最佳答案

这是一个建议。 dat是数据框的名字:

idx <- is.na(dat$BNR.x) # create logical index for NAs in BNR.x

dat$BNR.x[idx] <- dat$BNR.y[idx] # replace NAs with values from BNR.y

# Add a logical column:
dat <- transform(dat, warn = is.na(BNR.x) | (BNR.x != BNR.y & !is.na(BNR.y)))

结果:

  ID BNR.x BNR.y  warn
1 1 123 NA FALSE
2 2 234 234 FALSE
3 3 345 345 FALSE
4 4 456 456 FALSE
5 5 678 677 TRUE
6 6 NA NA TRUE

关于r - 将两列中的数据合并为R中的一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14812162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com