作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题是 How to append column number in front of every element? 的后续问题。
V1 <- c("a", "a", "b", "b", "b")
V2 <- c("c" ,"d", "e" ,"e", "f")
V3 <- c("i", "j", "k", "l", "m")
df <- data.frame(V1, V2, V3)
df[] <- Map(paste0, seq_along(df), df)
输出
V1 V2 V3
1 1a 2c 3i
2 1a 2d 3j
3 1b 2e 3k
4 1b 2e 3l
5 1b 2f 3m
如何改为创建以下输出?
V1 V2 V3
1 1.1.a 2.1.c 3.1.i
2 1.1.a 2.2.d 3.2.j
3 1.2.b 2.3.e 3.3.k
4 1.2.b 2.3.e 3.4.l
5 1.2.b 2.4.f 3.5.m
最佳答案
您可以使用前面带有 lapply
的 Map
指令。
f <- function(x){
sp <- split(x, x)
unlist(lapply(seq_along(sp), function(i) paste(i, sp[[i]], sep = ".")))
}
df[] <- lapply(df, f)
df[] <- Map(paste, seq_along(df), df, sep = ".")
df
# V1 V2 V3
#1 1.1.a 2.1.c 3.1.i
#2 1.1.a 2.2.d 3.2.j
#3 1.2.b 2.3.e 3.3.k
#4 1.2.b 2.3.e 3.4.l
#5 1.2.b 2.4.f 3.5.m
关于r - 如何为数据框中的每个元素附加一个序号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52709564/
我是一名优秀的程序员,十分优秀!