如何将一列分成几列。请注意,我有关于每列宽度的信息。
e.g。
12729404
28290282
36383025
我想将它分开,并将变量名称赋予:
plot_no sp_code dbh
127 29 40.4
282 90 28.2
363 83 10.2
请注意,我有一列5000行数据。
答案 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))