提取dplyr tbl列作为向量是否有更简洁的方法将dplyr tbl的一列作为向量,从具有数据库后端的tbl(即数据帧/表不能直接是子集)?require(dplyr)db <- src_sqlite(tempfile(), create = TRUE)iris2 <- copy_to(db, iris)iris2$Species# NULL这太容易了,所以collect(select(iris2, Species))[, 1]# [1] "setosa" "setosa" "setosa" "setosa" etc.但它似乎有点笨拙。
3 回答
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
使用dplyr 0.7.0,您可以使用pull从a获取向量tbl。
library("dplyr")
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
db <- src_sqlite(tempfile(), create = TRUE)
iris2 <- copy_to(db, iris)
vec <- pull(iris2, Species)
head(vec)
#> [1] "setosa" "setosa" "setosa" "setosa" "setosa" "setosa"
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
您还可以使用unlist
我发现更容易阅读的内容,因为您不需要重复列的名称或指定索引。
iris2 %>% select(Species) %>% unlist(use.names = FALSE)
- 3 回答
- 0 关注
- 650 浏览
添加回答
举报
0/150
提交
取消