r - R 编程语言中的 VLOOKUP。目前在 Excel 中做 VLOOKUP,仍然无法在 R 中得到想要的结果
问题描述
R 编程语言中的 VLOOKUP - 问题陈述:我需要在 R 中执行 VLOOKUP,以获取月度报告。我目前正在 Excel 中执行此操作,但是,我想在 R 中执行此操作。
背景:
1.) df1 = 50,000 Rows / 115 Columns – 我要匹配的列:“account_number”
A.) df1$account_number
2.) df2 = 11,000 行 / 2 列 – 我要匹配的列:“account_number_1”
B.) df2$account_number_1
3.) df1$flag – 我想要一个“Y”或“N”来匹配 df1$account_number == df2$account_number_1
C.) df1$flag
研究尝试:
• 我一直在寻找、尝试和尝试编写我认为很容易的代码,但是,我不知道为什么它如此困难。
• 我的搜索和反复试验导致了Merge、Match、Duplicate 和其他我不记得的方法,但它们都没有提供我真正需要的东西。非常感谢任何有关我做错了什么和/或如何完成 VLOOKUP 以获得所需结果的帮助!谢谢!
我以为我会通过这个 StackOverflow 链接得到它,但是,我仍然无法得到想要的结果:
如何在 R 中进行 vlookup 和填写(如在 Excel 中)?
这是我的搜索和脚本尝试:
合并:# 组合 2 个数据框:
(仅供参考:cbind,left_join,inner_join - 都给我错误,但是,“smartbind” WORKS!!!)
df_merge <- smartbind(df1, df2)
我尝试 TRUE/FALSE - cbind 和 rbind # https://www.youtube.com/watch?v=NFaK1Qn4u3A - R 中的逻辑语句 (TRUE/FALSE) 和 cbind 和 rbind 命令(R 教程 1.9)
df_merge$flag <- df_merge$account_number == df_merge$account_number_1
https://www.youtube.com/watch?v=LKoknpFOEUw - 搜索“在 R 中如何匹配值”
duplicated(df_merge) which(duplicated(df_merge))
https://www.youtube.com/watch?v=eVEx_pBEkRI
df_merge$flag <- any(df_merge$account_number == df_merge$account_number_1)
任何(df_merge$account_number == df_merge$account_number_1)
if (which(duplicated(df_merge$account_number == df_merge$account_number_1))) { df_merge$flag <- "Y" } else if (which(duplicated(df_merge$account_number != df_merge$account_number_1)) { status <- "N" }
我尝试了这些链接,但迷路了:
如何在 R 中进行 vlookup 和填写(如在 Excel 中)?
http://stat.ethz.ch/R-manual/R-devel/library/base/html/match.html
match(x, table, nomatch = NA_integer_, incomparables = NULL)
x %in% table
df_match <- match(df_merge$account_number , df_merge$ account_number_1, nomatch=NA_integer_, incomparables=NULL)
解决方案
你不需要合并任何东西。
df1$flag <- df1$account_number %in% df2$account_number_1
这将创建一列 TRUE/FALSE 值。对于您想做的任何事情,这应该足够了。如果您必须具有是/否值:
df1$flag <- ifelse(df1$account_number %in% df2$account_number_1, "Yes", "No")
推荐阅读
- python - 记录鼠标点击图像
- angular - Angular 4 中的订阅功能
- mysql - 如果某行为空,则选择另一行
- javascript - messageReactionAdd 无法添加角色
- matrix - What is the most efficient way to compute the inverse of a general matrix using cuSolver?
- python - 更新 Pytorch 变量
- reactjs - 安装 material-ui 时显示警告: $ npm install @material-ui/core npm WARN ajv-keywords@3.2.0 需要对等 ajv@^6.0.0
- nginx - Nginx 在有效图像文件上给出 404
- jquery - 单击或更改选择输入时如何隐藏/切换 DIV
- python - 使用 BS4 查找特定选项