将列拆分为多个具有R中变量名称的列

时间:2016-06-03 15:28:42

标签: r

如何将一列分成几列。请注意,我有关于每列宽度的信息。

e.g。

12729404
28290282
36383025

我想将它分开,并将变量名称赋予:

plot_no    sp_code   dbh
127         29           40.4
282         90           28.2
363         83           10.2

请注意,我有一列5000行数据。

1 个答案:

答案 0 :(得分:3)

我们可以尝试sub

read.table(text=sub("(\\d{3})(\\d{2})(\\d{2})(\\d{1})", "\\1,\\2,\\3.\\4", df1$v1),
             sep=",", header=FALSE, col.names = c('plot_no', 'sp_code', 'dbh'))
#  plot_no sp_code  dbh
#1     127      29 40.4
#2     282      90 28.2
#3     363      83  2.5

数据

df1 <- structure(list(v1 = c(12729404L, 28290282L, 36383025L)), 
.Names = "v1", class = "data.frame", row.names = c(NA, -3L))