r - 提取列表中数字的范围

标签 r list numbers extract

我想选择列表所有行中数字的一部分

在列表中,我有这样的数字和字母的组合,但超过 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/

相关文章:

r - 使用与条目编号相关的模式在 R 中生成列表

list - Dobble 卡片序言

python - 一个列表(可能)可以被另一个整除吗?

r - 如何从 mcmc.list 对象获取平均值?

r - 如何在 Ubuntu 21.10 上安装 R

r - Shiny R 中模型训练的进度条

c# - 如何在异常中显示对象列表?

c++ - 根据类私有(private)成员对包含类的列表进行排序

java - 在自由范围内生成吸血鬼数字

list - 在已经有数字的位置插入一个数字,创建一个List