首页 > 解决方案 > 如何将复制的字符串保存在R中原子向量中用逗号分隔的多行中?

问题描述

我想将复制的大字符串保存为 R 中的原子向量。复制的字符串如下所示:

"div_incr, firm_value_1 , firm_value_1_ind , size , size_ind , life_cycle , 
       life_cycle_ind , sa_borrowings_scaled_ta"

我想将上面的字符串保存为原子向量,其中每个名称都应显示为向量的元素。我试过这个:

var <- c("div_incr, firm_value_1 , firm_value_1_ind , size , size_ind , life_cycle , 
       life_cycle_ind , sa_borrowings_scaled_ta")

但这会将整个字符串保存为单个元素。我想这样保存:

var <- c("div_incr", "firm_value_1", "firm_value_1_ind" , "size" , "size_ind" , "life_cycle" , 
       "life_cycle_ind" , "sa_borrowings_scaled_ta")

我知道,我可以手动执行此操作,但我想要一些 R 样式来执行此操作。

标签: rstringvector

解决方案


我们可能需要使用strsplit,

v1 <-  strsplit(str1, "\\s*,\\s*")[[1]]
> str(v1)
 chr [1:8] "div_incr" "firm_value_1" "firm_value_1_ind" "size" "size_ind" "life_cycle" "life_cycle_ind" "sa_borrowings_scaled_ta"

或者scan

v1 <- scan(text = str1, what = "", sep=",", strip.white = TRUE, quiet = TRUE)
v1 <- v1[nzchar(v1)]

-输出

> v1
[1] "div_incr"                "firm_value_1"            "firm_value_1_ind"        "size"                    "size_ind"               
[6] "life_cycle"              "life_cycle_ind"          "sa_borrowings_scaled_ta"
> str(v1)
 chr [1:8] "div_incr" "firm_value_1" "firm_value_1_ind" "size" "size_ind" "life_cycle" "life_cycle_ind" "sa_borrowings_scaled_ta"

数据

str1 <- "div_incr, firm_value_1 , firm_value_1_ind , size , size_ind , life_cycle , \n       life_cycle_ind , sa_borrowings_scaled_ta"

推荐阅读