Coerce type" double"到sparkR

时间:2015-08-19 10:01:31

标签: sparkr

我在sparkR中有一个DataFrame' u'哪一个 conains ID = 1 1 1 1 ...年龄= 21 23 33 21 ... 考虑到年龄的总和'我这样做

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

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

as.numeric(sumage)

但是我得到了这样的信息:&#34; sumu&lt; - agg(u,amount_spent =&#34; sum&#34;) 不能强迫类型&#39; S4&#39;对于&#39; double&#39;&#34;

类型的向量

可以做些什么?

1 个答案:

答案 0 :(得分:1)

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

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

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

的整数
localSumage <- as.integer(localSumage)

或者您可以使用

将类型转换为SparkR中的整数
sumage$intergerAge <- cast(sumage[[1]],"integer")

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