如何从字符对象创建字符向量?
How do I create a vector of characters from a character object?
我需要转换字符类型的对象,例如:
"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
如果您不喜欢使用 unlist()
,您可以先 paste
x
中的每个元素,然后使用 stringr::str_split
:
x <- c("1234", "1123", "0654", "0001")
as.numeric(stringr::str_split(paste(x, collapse = ""), "")[[1]])
#[1] 1 2 3 4 1 1 2 3 0 6 5 4 0 0 0 1
我需要转换字符类型的对象,例如:
"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
如果您不喜欢使用 unlist()
,您可以先 paste
x
中的每个元素,然后使用 stringr::str_split
:
x <- c("1234", "1123", "0654", "0001")
as.numeric(stringr::str_split(paste(x, collapse = ""), "")[[1]])
#[1] 1 2 3 4 1 1 2 3 0 6 5 4 0 0 0 1