如何在每个元素前面添加列号?

时间:2018-10-08 19:16:45

标签: r concatenation paste

这是一个简单的数据:

a <- c( "a" ,"a")
b <- c("b", "b")
df <- data.frame(a, b)

df[] <- paste0(1:2, unlist(df[,1:2]))

   a  b
1 1a 1b
2 2a 2b

我正在寻找的输出是:

   a  b
1 1a 2b
2 1a 2b

有什么有效的方法吗?

这可行,但是我相信还有更好的方法。谢谢!

df2[] <- paste0(col, unlist(t(df2[,1:2])))
t(df2)

1 个答案:

答案 0 :(得分:3)

尝试一下:

df[] <- Map(paste0, seq_along(df), df)
df
##    a  b
## 1 1a 2b
## 2 1a 2b