gpt4 book ai didi

r - dplyr::选择一列并输出为向量

转载 作者:行者123 更新时间:2023-12-03 05:40:32 25 4
gpt4 key购买 nike

dplyr::select结果是一个data.frame,如果结果是一列,有没有办法让它返回一个向量?

目前,我必须执行额外的步骤( res <- res$y )将其从 data.frame 转换为向量,请参阅此示例:

#dummy data
df <- data.frame(x = 1:10, y = LETTERS[1:10], stringsAsFactors = FALSE)

#dplyr filter and select results in data.frame
res <- df %>% filter(x > 5) %>% select(y)
class(res)
#[1] "data.frame"

#desired result is a character vector
res <- res$y
class(res)
#[1] "character"

如下:

res <- df %>% filter(x > 5) %>% select(y) %>% as.character
res
# This gives strange output
[1] "c(\"F\", \"G\", \"H\", \"I\", \"J\")"

# I need:
# [1] "F" "G" "H" "I" "J"

最佳答案

最好的方法(IMO):

library(dplyr)
df <- data_frame(x = 1:10, y = LETTERS[1:10])

df %>%
filter(x > 5) %>%
.$y
<小时/>

在 dplyr 0.7.0 中,您现在可以使用 pull():

df %>% filter(x > 5) %>% pull(y)

关于r - dplyr::选择一列并输出为向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27149306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com