gpt4 book ai didi

如果两列在 R 中匹配,则替换值

转载 作者:行者123 更新时间:2023-12-04 09:28:59 25 4
gpt4 key购买 nike

我对 R 略知一二,但我已经有一段时间没有使用它了。对于此问题的任何帮助或提示,我将不胜感激。如果我有两列带有数值(数据框),我如何比较它们以便如果两列的第一行相等,它们中的值将替换为单词“EQUAL”或“MATCH”或“NA” ,如果它们不相等,那些特定行的值是否保持不变?我不想创建一个具有正确/不正确值的新列,我需要列数保持不变并替换其中的数据。这会是一个 if 函数吗?

我还需要第一列(即 Sample# 列)在输出中保持完全相同。

这是一个例子:

原始文件的样子(Au = 具有正确数据的列,Au_ppb = 不正确的数据):

Sample#  Au  Au_ppb  
3000 0.2 0.2
3001 0.2 >3
3002 0.2 0.2
3003 0.2 0.2
3004 0.3 1.0

之后应该是什么样子:

Sample#  Au   Au_ppb 
3000 EQUAL EQUAL
3001 0.2 >3
3002 EQUAL EQUAL
3003 EQUAL EQUAL
3004 0.3 1.0

感谢您的帮助!

最佳答案

我们可以获得相等值的索引并将它们替换为我们首选的文本(此处为“EQUAL”)。

ind <- df$Au == df$Au_ppb
df[ind, c("Au", "Au_ppb")] <- "EQUAL"

# Sample Au Au_ppb
#1 3000 EQUAL EQUAL
#2 3001 0.2 >3
#3 3002 EQUAL EQUAL
#4 3003 EQUAL EQUAL
#5 3004 0.3 1.0

或者单行:

df[df$Au == df$Au_ppb, c("Au", "Au_ppb")] <- "EQUAL"

关于如果两列在 R 中匹配,则替换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45156361/

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