gpt4 book ai didi

R 将 data.frame 转换为按列列出

转载 作者:行者123 更新时间:2023-12-04 03:49:52 25 4
gpt4 key购买 nike

我想使用基本 R 函数将 data.frame 按列转换为 data.frames 列表并保持第一列常量。例如,我想将 DF 拆分为三个 data.frames 的列表,每个列表包含第一列。也就是说,我希望以名为 LONG 的列表结束,而不必分别输入每个列表元素。谢谢。

DF <- data.frame(OBS=1:10,HEIGHT=rnorm(10),WEIGHT=rnorm(10),TEMP=rnorm(10))
DF

LONG <- list(HEIGHT = DF[c("OBS", "HEIGHT")],
WEIGHT = DF[c("OBS", "WEIGHT")],
TEMP = DF[c("OBS", "TEMP" )])

LONG

SHORT <- as.list(DF)
SHORT

SPLIT <- split(DF, col(DF))

最佳答案

我们可以循环遍历 names 'DF' 除了第一个,cbind第一列包含来自 names 的“DF”子集.

setNames(lapply(names(DF)[-1], function(x) cbind(DF[1], DF[x])), names(DF)[-1])

或者另一种选择是
Map(cbind, split.default(DF[-1], names(DF)[-1]), OBS=DF[1])

关于R 将 data.frame 转换为按列列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37643404/

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