R语言如何将提取的dataframe/tibble元素转换为字符串对象
tibble使用[进行索引时默认返回tibble类型,不会自动降维为向量;且str()是用于打印对象结构的工具函数,本身返回NULL,无法用于类型转换。可通过以下方法提取字符串类型的目标值:
方法1:使用双中括号直接提取向量
双中括号[[会直接提取tibble对应列的向量形式,可直接按位置提取目标元素:
# 直接提取第2行lhs_new列的字符串 x <- formula_df[[2, "lhs_new"]] class(x) # 输出为 "character"
如果已经先拿到了1行1列的tibble,也可以对它用双中括号提取:
x <- formula_df[2,'lhs_new'] x_str <- x[[1]]
方法2:使用dplyr的pull()函数(tidyverse风格写法)
pull()可直接从tibble中提取指定列为向量,支持指定提取位置:
library(dplyr) # 提取lhs_new列的第2个元素 x <- formula_df %>% pull(lhs_new, 2)
对已有的1行1列tibble也可以直接调用pull:
x <- formula_df[2,'lhs_new'] x_str <- pull(x)
方法3:降维后转字符
先把1行1列的tibble降维为向量再转换为字符类型:
x <- formula_df[2,'lhs_new'] x_str <- as.character(unlist(x))
内容的提问来源于stack exchange,提问作者Eisen
相关产品推荐
相关产品推荐

