r - R评估一个值是否存在于另一个表中
问题描述
df1:
a = c(2, 3, 5, 8, 10, 12)
b = c("aa", "bb", "cc", "aa", "bb","aa")
c = c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE)
df1 = data.frame(a, b, c)
df2:
df2 = c("aa", "bb")
我想评估 df1$b 以查看该值是否在 df2$d 中。如果是,则保留该值。如果不是,则输入“稀有”
输出:df1
a b c
2 aa true
3 bb false
5 rare true
8 aa false
10 bb true
12 aa false
解决方案
这可以在base R
:
#Data
a = c(2, 3, 5, 8, 10, 12)
b = c("aa", "bb", "cc", "aa", "bb","aa")
c = c(TRUE, FALSE, TRUE, FALSE, TRUE, FALSE)
df1 = data.frame(a, b, c,stringsAsFactors = F)
df2 <- data.frame(d=c("aa", "bb"),stringsAsFactors = F)
#Compute
df1$b <- ifelse(df1$b %in% df2$d,df1$b,'rare')
输出:
a b c
1 2 aa TRUE
2 3 bb FALSE
3 5 rare TRUE
4 8 aa FALSE
5 10 bb TRUE
6 12 aa FALSE
推荐阅读
- javascript - 基于 JS 或 Jquery 上的类别选择的复杂计算
- c# - 应用程序为我返回数据但不为其他用户返回数据,即使我使用他们的用户名登录 - SQL Server/C#/WPF
- ios - 将构建上传到应用商店时 Openpay.framework 2.0.2 出现问题
- php - PHP脚本将MySQL数据返回到表中,需要回车
- ruby-on-rails - Rails 不导航到控制器方法
- xml - XML 查询 (Xpath)
- vimeo - Vimeo:获取与视频相关的所有专辑
- qt - qstyleeditemdelegate 子类化绘制方法无法正常工作
- c# - 如何在保持光标绘制的原始质量的同时将自定义光标保存到文件中?
- vba - 在 Access 2013 中使用 VBA 在 Lotus Notes 中创建与所需与会者的约会