r语言 - SparkR : 如何制作"INDEX MATCH / VLOOKUP"



SPARKR 中的索引匹配/VLOOKUP

我正在努力制作一个";索引匹配/vlookup";在Rstudio用软件包SparkR,有人以前做过吗?我正试图使用locate函数在普通的RStudio中使用函数match来实现相同的方法,但我收到了一条消息,无法用两列来定位,所以我做了一个循环,但也没有成功。。。有人知道这方面的线索吗?

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运算符[或subset((方法的第一个参数中不支持筛选谓词以外的表达式。回溯:eval(解析(文本=代码(,envir=envir(测试(Premium_rate_Index_script_v1=Premium_rate _Index_cript_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(UWYData[i,1]UWYData[i,1]stop(paste0("不支持过滤谓词以外的表达式","在提取运算符[或subset((方法的第一个参数中"(

(function(classes,fdef,mtable(中的错误:无法为签名"找到函数"locate"的继承方法;列"列">

回溯:eval(解析(文本=代码(,envir=envir(测试(Premium_rate_Index_script_v1=Premium_rate _Index_cript_v1(LoBUWY_Data[SparkR::locate(UWYData$ICRF_ID,LoBUWY_Data$ICRF-ID(,"Version"LoBUWY_Data[SparkR::locate(UWYData$ICRF_ID,LoBUWY_Data$ICRF-ID(,"Version"SparkR::locate(UWYData$ICRF_ID,LoBUWY_Data$ICRF-ID((函数(类、fdef、mtable(

使用SparkR::join

UWYData <- SparkR::createDataFrame(data.frame(
id = 1:5
))
LoBUWY_Data <- SparkR::createDataFrame(data.frame(
ICRF_ID = 1:4,
Version = 11:14
))
result <- SparkR::join(
UWYData,
LoBUWY_Data,
UWYData$id == LoBUWY_Data$ICRF_ID,
joinType = "left_outer"
)
SparkR::collect(result)
#>   id ICRF_ID Version
#> 1  1       1      11
#> 2  3       3      13
#> 3  5      NA      NA
#> 4  4       4      14
#> 5  2       2      12

最新更新