gpt4 book ai didi

r - 评估另一个表中是否不存在某个值

转载 作者:行者123 更新时间:2023-12-03 23:59:59 26 4
gpt4 key购买 nike

df1:

a = c(2, 3, 5, 8, 10, 12) 
b = c("NA", "bb", "cc", "aa", "bb", "aa")
c = c("bb", "aa", "bb", "cc", "aa", "aa")
d = c("aa", "cc", "bb", "aa", "aa", "aa")
e = c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE)
df1 = data.frame(a, b, c, d, e)

df2:

f = c("aa", "bb")
df2 = data.frame(f)

我想评估 df1 列 b、c、d 以查看 df2 中的值是否。如果是,则保留该值。如果不是,则输入“稀有”。需要忽略 NA。

输出:

a  b    c    d    e
2 NA bb aa true
3 bb aa rare false
5 rare bb bb true
8 aa rare aa false
10 bb aa aa true
12 aa aa aa false

最佳答案

确保您的列是 as.character(),然后(考虑到您的 NA 是一个字符串,就像您定义它一样)

df1[2:4] <- lapply(df1[2:4], function(i)replace(i, !i %in% c('NA', df2$f), 'rare'))

df1
# a b c d e
#1 2 NA bb aa TRUE
#2 3 bb aa rare FALSE
#3 5 rare bb bb TRUE
#4 8 aa rare aa FALSE
#5 10 bb aa aa TRUE
#6 12 aa aa aa FALSE

关于r - 评估另一个表中是否不存在某个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63395248/

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