gpt4 book ai didi

r - 通过列表的元素名称=数据框行号从列表中的数据框中分配值

转载 作者:行者123 更新时间:2023-12-05 04:41:24 24 4
gpt4 key购买 nike

我有一个名单,例如:

> myNamedList

(...)

$`1870`
[1] 84.24639

$`1871`
[1] 84.59707

(...)

我想在数据框的列中分配这些值,其中列表元素的名称对应于数据框的行号。现在我是这样进行的:

for (element in names(myNamedList)) {
targetDataFrame[as.numeric(element),][[columnName]] = myNamedList[[element]]
}

如果列表有点大,这会很慢,而且也不是很 R-esque。我相信我可以用 apply 做点什么,但我不确定去哪里找。感谢您的帮助。

最佳答案

向原始数据添加行号,然后堆叠列表,然后合并。参见示例:

# example
#data
set.seed(1); d <- data.frame(x = sample(LETTERS, 5))
#named list
x <- list("2" = 11, "4" = 22)

#add a row number
d$rowID = seq(nrow(d))

# stack the list, and merge
merge(d, stack(x), by.x = "rowID", by.y = "ind", all.x = TRUE)
# rowID x values
# 1 1 Y NA
# 2 2 D 11
# 3 3 G NA
# 4 4 A 22
# 5 5 B NA

关于r - 通过列表的元素名称=数据框行号从列表中的数据框中分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70096621/

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