gpt4 book ai didi

r - 如何为数据框中的每个元素附加一个序号?

转载 作者:行者123 更新时间:2023-12-04 22:09:17 26 4
gpt4 key购买 nike

这个问题是 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

最佳答案

您可以使用前面带有 lapplyMap 指令。

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com