【发布时间】:2020-11-09 22:55:42
【问题描述】:
SPARKR 中的索引匹配/VLOOKUP
我正在尝试使用 SparkR 包在 Rstudio 进行“索引匹配/vlookup”,以前有人做过吗?我正在尝试使用函数定位来接近与普通 RStudio 中的函数匹配相同的方法,但我收到一条无法用两列定位的消息,所以我做了一个循环,但也没有用.. . 有人对此有任何线索吗?
iUWYData <- SparkR::nrow(UWYData)
for(i in iUWYData){
UWYData[i,2] = LoBUWY_Data[SparkR::locate(UWYData[i,1], LoBUWY_Data$ICRF_ID),"Version"]
}
或
UWYData$Version = LoBUWY_Data[SparkR::locate(UWYData$ICRF_ID, LoBUWY_Data$ICRF_ID),"Version"]
但我收到了这些消息:
UWYData[i, 1] 中的错误:extract operator [ 或 subset() 方法的第一个参数不支持过滤谓词以外的表达式。 追溯: 评估(解析(文本 = 代码),环境 = 环境) 测试(Premium_rate_Index_script_v1 = Premium_rate_Index_script_v1) LoBUWY_Data[SparkR::locate(UWYData[i, 1], LoBUWY_Data$ICRF_ID), “版本”] LoBUWY_Data[SparkR::locate(UWYData[i, 1], LoBUWY_Data$ICRF_ID), “版本”] SparkR::locate(UWYData[i, 1], LoBUWY_Data$ICRF_ID) UWY 数据[i, 1] UWY 数据[i, 1] stop(paste0("不支持过滤谓词以外的表达式", "在提取运算符[或subset()方法的第一个参数中。"))
和
(函数(类,fdef,mtable)中的错误:无法为签名“列”,“列”的函数“定位”找到继承的方法
回溯: 评估(解析(文本 = 代码),环境 = 环境) 测试(Premium_rate_Index_script_v1 = Premium_rate_Index_script_v1) LoBUWY_Data[SparkR::locate(UWYData$ICRF_ID, LoBUWY_Data$ICRF_ID), “版本”] LoBUWY_Data[SparkR::locate(UWYData$ICRF_ID, LoBUWY_Data$ICRF_ID), “版本”] SparkR::locate(UWYData$ICRF_ID, LoBUWY_Data$ICRF_ID) (函数(类,fdef,mtable)
【问题讨论】: