在sparkR中我有data
作为数据框。
我可以附加一个条目data
像这样:
newdata <- filter(data, data$column == 1)
我怎样才能附加多个?
假设我想附加向量中的所有元素list <- c(1,6,10,11,14)
or if list
是一个数据框1 6 10 11 14
.
newdata <- filter(data, data$column == list)
如果我这样做,我会收到错误。
如果您最终尝试通过唯一值列表过滤 Spark DataFrame,您可以使用merge
手术。如果您正在谈论从长数据格式到宽数据格式,您需要确保您正在考虑的因子变量的每个“级别”都有相同数量的观察值。如果要按列对 Spark 数据帧进行子集化,您还可以使用 select 语句,或者通过将 data$blah 粘贴到中来构建 select 语句,然后执行以下操作eval(parse(text=bigTextObject))
正如@Wannes所建议的。也许是一个产生大的函数select
语句是您想要的(如果您按列名称过滤)...amerge
如果您尝试从单个列中提取值,这就是您想要的。
据我了解,似乎您想要获取一个包含大量列的大型 Spark DataFrame,并且只获取您感兴趣的列,如下所示list
在你的问题中。
这是一个产生火花的小函数select
陈述:
list<- c(1,2,5,8,90,200)
listWithDataPrePended<- paste0('data', '$', list)
gettingCloser<- noquote(paste0(listWithDataPrePended, collapse = ','))
finalSelectStatement<- noquote(paste("select(data,", gettingCloser, ")"))
finalData<- eval(parse(text=finalSelectStatement))
finalData<- SparkR::collect(finalData)
也许这就是您正在寻找的……也许不是。尽管如此,我希望它有所帮助。
祝你好运,
内特
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)