gpt4 book ai didi

r - 将列表与R中的向量合并

转载 作者:行者123 更新时间:2023-12-04 13:31:15 27 4
gpt4 key购买 nike

我有一些类似以下的数据:

num = list()
num[[1]] = c(1,2,3)
num[[2]] = c(4,5,6,7)
name = c("Alex", "Patrick")

如何将其组合成如下所示的数据框?
Alex        1
Alex 2
Alex 3
Patrick 4
Patrick 5
Patrick 6
Patrick 7

很抱歉发布了一个很明显的问题。我进行了广泛搜索,但没有找到答案,可能是因为我不知道如何很好地描述此查询。

最佳答案

试试看。新的lengths()函数在这里派上用场。

data.frame(name = rep(name, lengths(num)), num = unlist(num))
# name num
# 1 Alex 1
# 2 Alex 2
# 3 Alex 3
# 4 Patrick 4
# 5 Patrick 5
# 6 Patrick 6
# 7 Patrick 7

为了更好地理解这一点,让我们将其从内到外分解为几个部分。 lengths()告诉我们列表中每个元素的长度,因此
lengths(num)
# [1] 3 4

现在,我们将其用作 times中的 rep()参数来复制 name的元素。
rep(name, lengths(num))
# [1] "Alex" "Alex" "Alex" "Patrick" "Patrick" "Patrick" "Patrick"

这是第一列。对于第二列,我们只是使用 numunlist()转换为原子向量。
unlist(num)
# [1] 1 2 3 4 5 6 7

如上所示,将它们放在一起,我们便有了您的新数据框。

关于r - 将列表与R中的向量合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37623081/

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