gpt4 book ai didi

r 改变数据框的结构

转载 作者:行者123 更新时间:2023-12-01 23:48:15 25 4
gpt4 key购买 nike

1 abc acb bca 2 abc acb bca 3 abc acb bca
1 0.1 0.0 0.3 2 0.4 0.3 0.2 3 0.2 0.1 0.3
1 0.3 0.2 0.1 2 0.4 0.2 0.1 3 0.1 0.3 0.4

我有一个如上例所示的数据框。相同的列名称出现 100 次。数据框应如下所示:

number abc acb bca
1 0.1 0.0 0.3
1 0.3 0.2 0.1
2 0.4 0.3 0.2
2 0.4 0.2 0.1
...

是否可以更改数据框的结构?

最佳答案

如果列的顺序如图所示,

indx <- cumsum(grepl('^\\d+', colnames(df)))
res <- do.call(rbind, lapply(split(seq_along(indx), indx), function(x) {
x1 <- df[x]
colnames(x1)[1] <- 'number'
x1}))
row.names(res) <- NULL
res
# number abc acb bca
#1 1 0.1 0.0 0.3
#2 1 0.3 0.2 0.1
#3 2 0.4 0.3 0.2
#4 2 0.4 0.2 0.1
#5 3 0.2 0.1 0.3
#6 3 0.1 0.3 0.4

或者你可以转换为 array 然后 rbind

ar1 <- array(unlist(df), dim=c(2,4,3))
res2 <- do.call(rbind.data.frame, lapply(1:dim(ar1)[3],
function(i) ar1[,,i]))
colnames(res2) <- c('numbers', 'abc', 'acb', 'bca')

关于r 改变数据框的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28041125/

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