输入:
df = data.frame(1:3)
rownames(df) <- c("a.bzz.-11", "bb.c.44", "cdd.d.3")
预期产出:
X1.5 col1 col2 col3
a.bzz.-11 1 a bzzz -11
bb.c.44 2 bb c 44
cdd.d.3 3 cdd d 3
有一些有趣的讨论here,但在我的案例中却没有。提前谢谢。
答案 0 :(得分:4)
我们可以使用read.table
使用分隔符.
将行名称读入三列。
cbind(df, read.table(text=row.names(df), sep=".",
header=FALSE, col.names = paste0("col", 1:3), stringsAsFactors=FALSE))
# X1.3 col1 col2 col3
#a.bzz.-11 1 a bzz -11
#bb.c.44 2 bb c 44
#cdd.d.3 3 cdd d 3