我在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;
类型的向量可以做些什么?
答案 0 :(得分:1)
有两种可能的解决方案。由于sumage实际上是一个包含一个项目的DataFrame,因此您可以轻松地收集它并使用as.integer
localSumage <- collect(sumage)[1,1]
这是一种数字类型。如果需要,您可以将其转换为带
的整数localSumage <- as.integer(localSumage)
或者您可以使用
将类型转换为SparkR中的整数sumage$intergerAge <- cast(sumage[[1]],"integer")
但请注意,它仍然是一个带有整数列的DataFrame,其中存储了总和。