r - 使用 Sparklyr 在 R 中选择 N 行
问题描述
我正在尝试使用 Sparklyr 选择不同的 SparkDataframe 中间行。
我一直在寻找它,但我没有找到它(只有头部和尾部功能,但我不想要这些)。是否有一个 sparklyr 函数可以与传统 R 处理数据帧的维度一样?我需要创建一个带有 n:m 行 SparkDataframe 的 R 数据框。
例如,如果 n=1 且 m=5:
传统的 R
data(iris)
iris2 <- iris[1 : 5, ]
Sparklyr
sc <- spark_connect(master = "local")
iris_tbl <- sdf_copy_to(sc, iris, name = "iris", overwrite = TRUE)
提示:我正在查看slice(),但在编写代码时出现错误:
iris2 <- iris_tbl %>% slice(1:5) %>% collect()
no applicable method for 'slice' applied to an object of class "c('tbl_spark', 'tbl_sql', 'tbl_lazy', 'tbl')"
谢谢!
解决方案
做一个索引列,然后过滤掉上下索引。因此,如果我想保持 5:7,我会这样做:
iris_tbl <- sdf_copy_to(sc, iris, name = "iris", overwrite = TRUE) %>%
sdf_with_sequential_id(id = "index") %>%
filter(5<=index, index<=7)
希望这可以帮助
推荐阅读
- excel - excel中的日期值
- 3d - 如何使用 Cesium js 在地图上放置 3d 标记?
- node.js - 如何使用 socket.connect() 打开多个连接
- javascript - 在尝试任何进一步处理之前检查用户是否存在于 Firestore
- c++ - 如何将 `boost::range` 迭代器与标准迭代器一起使用
- c# - 如何使 EF Core Include() 不跟踪实体?
- javascript - 反应,缺少地图迭代的唯一键
- javascript - 文本从其容器中取出
- c# - GetGlobalResourceObject 在带有 <%@ Page Async="true" %> 的页面中不起作用
- c# - 使用与 SSH.NET 建立的另一个连接来使用新的 ssh 连接