如何在R语言中将字符格式的数字组列表转换为数值列表
解决方案:将逗号分隔的字符列表转为数值向量列表
Base R 实现
直接用基础R函数就能完成转换,步骤简洁:
mylist <- c("8,9,10", "5,6,7,3,4,5,7", "9,10,6,8,9") list_result <- lapply(strsplit(mylist, ","), as.numeric)
运行后输出完全符合预期:
> list_result [[1]] [1] 8 9 10 [[2]] [1] 5 6 7 3 4 5 7 [[3]] [1] 9 10 6 8 9
tidyverse 工具链实现
如果习惯用tidyverse生态的函数,写法更紧凑:
library(tidyverse) list_result <- map(str_split(mylist, ",", simplify = FALSE), as.numeric)
逻辑说明
strsplit()(base R)或str_split()(stringr)负责按逗号拆分每个字符串,返回由字符向量组成的列表lapply()(base R)或map()(purrr)遍历这个列表,把每个子字符向量用as.numeric()转为数值型向量
内容的提问来源于stack exchange,提问作者Shaun
相关产品推荐
相关产品推荐

