我使用strsplit函数从数据文件中提取了一个包含数值和字符串值的混合变量。我最终得到了一个变量,如下所示:
> sample3
[[1]]
[1] "1200" "A"
[[2]]
[1] "1193" "A"
[[3]]
[1] "1117" "B"
[[4]]
[1] "5663"
[[5]]
[1] "7003" "C"
[[6]]
[1] "1205" "A"
[[7]]
[1] "2100" "D"
[[8]]
[1] "1000" "D"
[[9]]
[1] "D"
[[10]]
[1] "1000" "B"
我需要将其拆分为两个变量/向量(或转换为双列矩阵)。我尝试使用unlist(sample3)代码,然后将所有值放入ncol = 2的矩阵中,但是由于存在一些缺少的数据点,因此当我使用这种方式时结果不正确。我想在放入两个圆柱矩阵之前我需要解决缺失的数据问题。有没有人对这个问题有任何想法?任何帮助将不胜感激。
答案 0 :(得分:1)
这样的东西会起作用
# dummy data
x <- list(c('100','a'), '100', c('a'), c('1000','b'))
numeric_x <- unlist(lapply(x,function(x) {.x <- head(x,1); as.numeric(.x)}))
character_x <- unlist(lapply(x,function(x) {.x <- tail(x,1); if(is.na(as.numeric(.x))) {return(.x)} else {return(NA)}}))
我肯定会有一个更好的正则表达式答案