r - 如何从字符对象创建字符向量?

标签 r loops vector character strsplit

我需要转换对象的字符类型,例如:

"1234"
"1123"
"0654"
"0001"

像这样的向量:

1,2,3,4,1,1,2,3,0,6,5,4,0,0,0,1

我能够使用 strsplit 将每组 for 数字分隔成单独的字符,但我无法将它们添加到单个对象中。

我使用的for循环:

number_0
number_0_vect <- vector("list",1024)

for (number in number_0){
  line_vects <- strsplit(number, "")[[1]]
  for (line_vect in line_vects){
    number_0_vect[line_vect] <- line_vect
  }
}

其中数字 0 是长度为 32 的字符类型(每个字符串有 32 个字符,因此最终向量将有 1024 个项目)。我没有收到任何错误,但是当我打印对象 number_0_vect 时,它给了我“NULL”值。

我对 R 还很陌生,这是我第二次在 Stack Overflow 上问问题,我希望我做得很好。

最佳答案

使用strsplit:

x <- c("1234", "1123", "0654", "0001")
as.numeric(unlist(strsplit(x, "")))
# [1] 1 2 3 4 1 1 2 3 0 6 5 4 0 0 0 1

关于r - 如何从字符对象创建字符向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53206522/

相关文章:

Java - 做循环帮助解释需要

c++ - 三元 vector 的快速内积

r - 如何跟踪从 R 中生成的 word .docx 文件的更改

r - 相关矩阵"Clustering"

r - R 中递归解的迭代

C++ 带输入的无限循环

R Shiny 仪表板: Upload data from both local file and the online database (such as Google Sheet)

jquery - html5 播放音频循环 4x 然后停止

C++ 释放自定义类 vector 的正确方法

c++ - 将 template<derived> 分配给 template<base> 变量