0

我在 sparkR 'u' 中有一个 DataFrame,其中包含 ID = 1 1 1 1 ... 和年龄 = 21 23 33 21 ... 取“年龄”的总和,我这样做

sumage<-agg(u, ages="sum")

现在 sumage 是一个 double 类型的 DataFrame。我想把 sumage 作为一个整数,所以我试试这个

as.numeric(sumage)

但我收到此消息:“sumu<- agg(u, amount_spent="sum") 无法将 'S4' 类型强制转换为 'double' 类型的向量”

关于这个还能做什么 ?

4

1 回答 1

1

有两种可能的解决方案。由于 sumage 实际上是一个带有一项的 DataFrame,因此您可以轻松收集并使用 as.integer

localSumage <- collect(sumage)[1,1]

这是一个数字类型。如果需要,您可以将其转换为整数

localSumage <- as.integer(localSumage)

或者您可以使用 SparkR 将类型转换为整数

sumage$intergerAge <- cast(sumage[[1]],"integer")

但请注意,它仍然是一个 DataFrame,其中存储了一个整数列。

于 2015-08-19T13:55:34.370 回答