我想选择列表所有行中数字的一部分
在列表中,我有这样的数字和字母的组合,但超过 50000 行: E0091349 W0532050 E0085229 ... 首先,我需要在新列表中提取第一个项目(字母),然后是另一个列表中的前 3 个数字,其他是接下来的 2 个,最后是最后 2 个。
我已经尝试过使用 lapply 或 mapply,但这是我第一次使用 r studio,我仍然有点迷失
最后我应该有 4 个列表: E0091349 W0532050 E0085229 ... 第一份 list : 乙 瓦 乙 ... 第二个 list : 009 053 008 ... 第三个 list : 13 20 52 ... 第四个 list : 49 50 29 ...
最佳答案
使用read.table
的基本R解决方案,
read.table(text = sub('(.{1})(.{3})(.{2})(.{2})', '\\1 \\2 \\3 \\4', d1$x),
colClasses = rep('character', 4))
# V1 V2 V3 V4
#1 E 009 13 49
#2 W 053 20 50
#3 E 008 52 29
数据:
dput(d1)
structure(list(x = c("E0091349", "W0532050", "E0085229")), class = "data.frame", row.names = c(NA,
-3L))
关于r - 提取列表中数字的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55686592/