sparklyr中是否有类似于cbind()或bind_cols()的功能?

3
我将尝试使用sparklyR执行两个不同数据框的简单绑定操作(这两个数据框具有相同的行数,并且行匹配)。
例如:
library(sparklyr)
library(dplyr)

sc <- spark_connect(master = "local[*]")
iris_tbl <- copy_to(sc, iris, name="iris", overwrite=TRUE)

#check column names
colnames(iris_tbl)

#subset iris into two df's
subdf <- iris_tbl %>%
  select(Sepal_Length,Sepal_Width) 

subdf1 <- iris_tbl %>%
  select(Petal_length,Petal_Width,Species)

#try to bind back together
dfCombine <- bind_cols(subdf,subdf1)

我收到的错误信息是:
#Error
Error in cbind_all(x) : basic_string::resize

我已经尝试了combine()cbind_allcbind()c(),但都没有起作用。

你尝试过使用 union_all 吗?请参考 https://github.com/rstudio/sparklyr/issues/76 - JanLauGe
union_all 用于绑定具有完全相同列的两个数据框(即类似于 rbind,类似于 SQL 中的 UNION)。 - schristel
1
抱歉,在这种情况下由于数据分区,情况不太乐观。在这里找到了关于bind_cols的讨论:https://github.com/rstudio/sparklyr/issues/556 - JanLauGe
2个回答

4

现在很晚了,我希望这能对其他人有所帮助。

要绑定两个不同的数据框(与 R 中的 cbind 相同),我们可以使用 sdf_bind_colsSparklyr 参考文献)。

上述问题的代码:

sdf_bind_cols(subdf, subdf1)

1
尝试使用

标签。

sub2 <- sdf_bind_row(subdf, subdf1)

1
根据Sparklyr文档,我认为你应该使用sdf_bind_rows(行)。 - bshelt141

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接