如果第二列与第一列匹配,如何将其设为空白?

问题描述 投票:0回答:1
新专栏 新栏2
细胞A 细胞A
细胞3 4 号电池
细胞X 细胞X

如何使这个顶级示例变成:

新专栏 新栏2
细胞A 不适用
细胞3 4 号电池
细胞X 不适用

另外,是否可以返回一个可以迭代的向量/列表?在你们的帮助下我可以克服这个问题后,我可能很快就会填补空白。

例如,

c(1,3)

我知道这不起作用,因为代码本质上是询问“整个列是否匹配?”。

我猜需要一个 for 循环来回答这个问题。

ifelse(all(DATA$newcolumn == DATA$newcolumn2), DATA$newcolumn2 = " ", DATA$newcolumn)
r for-loop vector data-manipulation
1个回答
0
投票

`==`
中使用
Reduce

within(df, newcolumn2[Reduce(`==`, df)] <- NA)
#   newcolumn newcolumn2
# 1    Cell A       <NA>
# 2    Cell 3     Cell 4
# 3    Cell X       <NA>

数据

df <- structure(list(newcolumn = c("Cell A", "Cell 3", "Cell X"), newcolumn2 = c("Cell A", 
"Cell 4", "Cell X")), class = "data.frame", row.names = c(NA, 
-3L))
© www.soinside.com 2019 - 2024. All rights reserved.