1

ID と Age を 2 x 3 行列として含むデータセット「人」があるとします。

Id = 1 2 3
Age= 21 18 30

people2sparkR では、18 歳以上のすべての ID を含む新しいデータセットを作成したいと考えています。この場合は ID 1 と 3 です。sparkR ではこれを行います。

people2 <- people$Age > 18

しかし、それは機能しません。新しいデータセットをどのように作成しますか?

4

2 に答える 2

1

特定のタスクを実行するための R の多数のオプションを高く評価する人は、SparkR::subset() 関数を使用することもできます。

> people <- createDataFrame(sqlContext, data.frame(Id=1:3, Age=c(21, 18, 30)))
> people2 <- subset(people, people$Age > 18, select = c(1,2))
> head(people2)
  Id Age
1  1  21
2  3  30

コメントの追加の詳細に答えるには:

id <- 1:99
age <- 99:1
myRDF <- data.frame(id, age)
mySparkDF <- createDataFrame(sqlContext, myRDF)

newSparkDF <- subset(mySparkDF, 
        mySparkDF$id==3 | mySparkDF$id==32 | mySparkDF$id==43 | mySparkDF$id==55, 
        select = 1:2)
take(newSparkDF,5)

(1) Spark Jobs
  id age
1  3  97
2 32  68
3 43  57
4 55  45
于 2016-06-04T21:11:16.220 に答える