我想将包含数字的字符串转换为具有相同数字的向量。到目前为止我做了什么:
x <- "1234567890"
split <- unlist(strsplit(x,split = NULL))
split
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "0"
str(split)
chr [1:10] "1" "2" "3" "4" "5" "6" "7" "8" "9" "0"
所以我的split变量仍然是一个字符串。我想最终得到一个矢量:
vector <- c(1,2,3,4,5,6,7,8,9,0)
str(vector)
num [1:10] 1 2 3 4 5 6 7 8 9 0
我该怎么做?谢谢
答案 0 :(得分:5)
像这样使用as.numeric
:
x <- "1234567890"
split <- unlist(strsplit(x,split = NULL))
as.numeric(split)
[1] 1 2 3 4 5 6 7 8 9 0
答案 1 :(得分:1)
我更喜欢一行
x <- "1234567890"
as.numeric(strsplit(as.character(x), "")[[1]])
<强>结果强>
[1] 1 2 3 4 5 6 7 8 9 0
答案 2 :(得分:1)
使用as.numeric
之类的
as.numeric(split)
#[1] 1 2 3 4 5 6 7 8 9 0
或
as.integer(split)
如果我们使用python
,则选项将包含list
,其中list
返回character
list('123456')
#['1', '2', '3', '4', '5', '6']
并转换为整数
list(map(int, '123456'))
#[1, 2, 3, 4, 5, 6]
答案 3 :(得分:1)
更深奥的解决方案......
as.integer(charToRaw("1234567890"))-48
[1] 1 2 3 4 5 6 7 8 9 0