为了账号安全,请及时绑定邮箱和手机立即绑定

提取dplyr tbl列作为向量

提取dplyr tbl列作为向量

撒科打诨 2019-07-30 11:11:07
提取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"


查看完整回答
反对 回复 2019-07-30
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

您还可以使用unlist我发现更容易阅读的内容,因为您不需要重复列的名称或指定索引。

iris2 %>% select(Species) %>% unlist(use.names = FALSE)


查看完整回答
反对 回复 2019-07-30
  • 3 回答
  • 0 关注
  • 650 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信