R 提取列表中的数字范围
我想在列表的所有行中选择数字的一部分 在列表中,我有这样一个数字和字母的组合,但有50000多行: E0091349 W0532050 E0085229 ... 首先,我需要在一个新的列表中提取第一项(字母),然后是另一个列表中的前3个数字,其他的是下2个,最后是其他的是最后2个 我已经尝试过使用Lappy或mapply,但这是我第一次使用r studio,我仍然有点迷路 最后,我应该有4个列表: E0091349 W0532050 E0085229 ... 第一份名单: E W E ... 第二份名单: 009 053 008 ... 第三名单: 13 20 52 ... 第四名单: 49 50 29R 提取列表中的数字范围,r,list,numbers,extract,R,List,Numbers,Extract,我想在列表的所有行中选择数字的一部分 在列表中,我有这样一个数字和字母的组合,但有50000多行: E0091349 W0532050 E0085229 ... 首先,我需要在一个新的列表中提取第一项(字母),然后是另一个列表中的前3个数字,其他的是下2个,最后是其他的是最后2个 我已经尝试过使用Lappy或mapply,但这是我第一次使用r studio,我仍然有点迷路 最后,我应该有4个列表: E0091349 W0532050 E0085229 ... 第一份名单: E W E ... 第
…如果要在固定位置拆分字符串,我们可以使用
分离
tidyr::separate(df, col, paste0("V", 1:4), c(1, 4, 6, 8))
# V1 V2 V3 V4
#1 E 009 13 49
#2 W 053 20 50
#3 E 008 52 29
数据
df <- data.frame(col = c("E0091349", "W0532050", "E0085229"))
df使用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))
我这样定义数据:longitud_initialsex您需要给出一个列名。第四栏的名字是什么?请尝试使用单独的(纵向、列名称、粘贴(“V”,1:4)、c(1,4,6,8))