将类型 "double" 强制转换为 sparkR 中的整数
Coerce type "double" to a integer in sparkR
我在 sparkR 'u' 中有一个 DataFrame
Conains ID = 1 1 1 1... 和年龄 = 21 23 33 21 ...
取 'ages' 的总和,我这样做
sumage<-agg(u, ages="sum")
现在sumage是一个double类型的DataFrame。我想把总和作为整数,所以我试试这个
as.numeric(sumage)
但我收到这条消息:"sumu<- agg(u, amount_spent="sum")
无法将类型 'S4' 强制转换为类型 'double'"
的向量
对此可以做些什么?
有两种可能的解决方案。由于 sumage 实际上是一个只有一项的 DataFrame,您可以轻松地收集它并使用 as.integer
localSumage <- collect(sumage)[1,1]
这是一个数字类型。如果需要,您可以使用
将其转换为整数
localSumage <- as.integer(localSumage)
或者您可以使用
在 SparkR 中将类型转换为整数
sumage$intergerAge <- cast(sumage[[1]],"integer")
但请注意,它仍然是一个带有整数列的 DataFrame,其中存储了您的总和。
我在 sparkR 'u' 中有一个 DataFrame Conains ID = 1 1 1 1... 和年龄 = 21 23 33 21 ... 取 'ages' 的总和,我这样做
sumage<-agg(u, ages="sum")
现在sumage是一个double类型的DataFrame。我想把总和作为整数,所以我试试这个
as.numeric(sumage)
但我收到这条消息:"sumu<- agg(u, amount_spent="sum") 无法将类型 'S4' 强制转换为类型 'double'"
的向量对此可以做些什么?
有两种可能的解决方案。由于 sumage 实际上是一个只有一项的 DataFrame,您可以轻松地收集它并使用 as.integer
localSumage <- collect(sumage)[1,1]
这是一个数字类型。如果需要,您可以使用
将其转换为整数localSumage <- as.integer(localSumage)
或者您可以使用
在 SparkR 中将类型转换为整数sumage$intergerAge <- cast(sumage[[1]],"integer")
但请注意,它仍然是一个带有整数列的 DataFrame,其中存储了您的总和。