当前位置: 首页 > 知识库问答 >
问题:

提取dplyr tbl列作为向量

万志专
2023-03-14

有没有一种更简洁的方法从带有数据库后端的tbl中获得dplyr 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.

但似乎有点笨拙。

共有1个答案

楚德辉
2023-03-14

对于dplyr>=0.7.0,可以使用pullTBL获取向量。

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"
 类似资料:
  • 注意:这不是关于矩阵的问题的重复,因为matrix和data.frame在R中是根本不同的数据类型,在DPLYR中可以不同地工作。有几个答案适用于Data.Frame,但不适用于Matrix。

  • 问题内容: 我在R向量中有一个ID列表。 我想写一个RODBC sqlQuery并附上一个类似这样的子句 我是否必须读取整个表,然后将其合并到R中的idList向量?或者如何将这些值提供给RODBC语句,以便仅恢复我感兴趣的记录? 注意: 由于列表很长,因此无法将单个值粘贴到SQL语句中,如下面的答案所示。 问题答案: 您可以始终使用以下语句构造语句 显然,您需要为此添加更多内容以构造您的确切语句

  • 我有一个数据帧与二进制值后执行get_dummies使用熊猫 我想要一个新的列,它有所有列的组合,其中有1 实际矩阵可以是25000行*1000列 在R中也有类似的解决方案,但是我需要它在Python中,因为所有其他的依赖都在Python中,R对我来说是新的。 在二进制矩阵中提取值为1的列名 类似的东西如何才能在Python中达到我的预期输出?

  • 序列提取 上一章讲述了如何实现自定义的提取器以及如何在模式匹配中使用它们, 但是只讨论了如何从给定的数据结构中分解固定数目的参数。 对某种数据结构来说,Scala 提供了提取任意多个参数的模式匹配方法。 比如,你可以匹配只有两个、或者只有三个元素的列表: val xs = 3 :: 6 :: 12 :: Nil xs match { case List(a, b) => a * b case

  • 问题内容: 我有一个包含两列的CSV,第一列是致力于我们项目中特定建筑物的团队。 第二列是实际建筑物编号。 我正在寻找的是一本字典,其中第一列为关键字,列表中属于该团队的建筑物。 我尝试了各种形式的和以及不同的for循环将数据重写到另一个字典中,但是我无法获得所需的结构。 CSV: 字典的结构如下: 问题答案: 这有效:

  • 在python代码中,如何有效地将pdf中的某个页面保存为jpeg文件?(用例:我有一个python烧瓶Web服务器,其中pdf-s将被上传,每个页面对应的jpeg-s是存储的。) 这个解决方案很接近,但问题是它无法将整个页面转换为jpeg。