0

sparkR では、DataFrame として持っdataています。data次のように 1 つのエントリを添付できます。

newdata <- filter(data, data$column == 1)

どうすれば複数添付できますか?
ベクター内のすべての要素をアタッチしたい場合、list <- c(1,6,10,11,14)またはlistDataFrame の場合とします1 6 10 11 14

newdata <- filter(data, data$column == list)

このようにすると、エラーが発生します。

4

2 に答える 2

0

== リストは機能せず、より意味のある %in% リストも機能しませんが、次のように実行できます (data.frame の例を含めました)。

dataLocal <- data.frame(column=c(rep(1,10),rep(2,10),rep(3,10)),column2=1:30)
data      <- createDataFrame(sqlContext,dataLocal)
newdata   <- filter(data, (data$column == 1)|(data$column == 2))

またはより一般的に(これで list2 は任意の長さにすることができます)

list2 <- c(1,2)
listEquals  <- paste("(data$column == ",list2,")",sep="")
checkEquals <- paste(listEquals,collapse="|")
func  <- paste("filter(data, ",checkEquals,")",sep="")
newdata <- eval(parse(text=func))

実行することを忘れないでください

collect(newdata)

結果を確認します。

于 2015-07-31T11:03:54.207 に答える