gpt4 book ai didi

r - 如何将两列数据帧转换为命名向量?

转载 作者:行者123 更新时间:2023-12-02 08:21:10 25 4
gpt4 key购买 nike

我正在尝试将由两列组成的数据框转换为命名向量(嵌套列表)。每行中的信息本质上是键值对,因此最终向量中的列表应分别由键命名并包含它们各自的值。

Example input:

Var1 Var2
A 1
A 2
B 1
B 3
C 3
C 4
C 5

Example Output:
namedArray = list(A = c(1,2), B = c(1,3), C = c(3,4,5))

我设法使用 reshape2 包中的 dcast() 做到了这一点,但这需要额外的后处理来删除行名称和通过转换数据框引入的 NA。

有没有更有效的方法来完成这个?

最佳答案

如果您有 2 列:数据框 df1 中的 X 和 Y,并且您希望 Y 的值是具有来自 X 的值的项目的名称:

myList <- as.list(df1$X)
names(myList) <- df1$Y

对于修改后的问题,答案是已经有一个函数可以做到这一点(并且可能比我给出的答案更好:

> split(dat$Var2, dat$Var1)
$A
[1] 1 2

$B
[1] 1 3

$C
[1] 3 4 5

关于r - 如何将两列数据帧转换为命名向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37019347/

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