如何从tbl_df
中提取单行作为向量?使用[]
括号进行简单的子集化会产生1行tbl_df
:
library(dplyr)
dat <- as_data_frame(mtcars)
dat[2, ]
Source: local data frame [1 x 11]
mpg cyl disp hp drat wt qsec vs am gear carb
(dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl) (dbl)
1 21 6 160 110 3.9 2.875 17.02 0 1 4 4
与Extract a dplyr tbl column as a vector类似的问题,但(我认为)有一些不同的解决方案。
答案 0 :(得分:14)
使用library(dplyr)
as_tibble(mtcars) %>%
slice(2) %>%
unlist(., use.names=FALSE)
c
运算符
recursive=TRUE
或者我们可以将as_tibble(mtcars) %>%
slice(2) %>%
c(., recursive=TRUE) %>%
unname
与{{1}}
{{1}}
答案 1 :(得分:3)
来自Introduction to dplyr:“所有dplyr函数都将数据帧(或小标题)作为第一个参数。”因此,无需将mtcars
转换为小标题。此外,as.numeric()
比unlist(., use.names = FALSE)
更为简洁。
library(dplyr)
mtcars %>%
slice(2) %>%
as.numeric()