gpt4 book ai didi

r - 过滤数据框并将结果附加到现有列表 R

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

我想过滤数据框列 (col_A) 并将输出附加到现有列表。应用于 col_A 的过滤器包含在向量 col_A_filters 中。

我的问题是如何使用 R 为此创建一个函数。

例子:

Df <- data.frame(
col_A = c("abc","def"),
col_B = c(123,456)
)

# existing lists:
abc <- list()
def <- list()


col_A_filters <- c("abc", "def")

输出应该是每个列表 abc 和 def 都添加了 Df 的过滤行。

最佳答案

这是一种使用mgetappend 的方法。

Df <- data.frame(
col_A = c("abc","def"),
col_B = c(123,456)
)

# existing lists:
abc <- list()
def <- list()

col_A_filters <- c("abc", "def")

l <- mget(col_A_filters, envir = .GlobalEnv)
for(i in col_A_filters) {
new <- Df[Df$col_A == i, ]
l[[i]] <- append(l[[i]], new)
l[[i]] <- as.data.frame(l[[i]])
}
list2env(l, envir = .GlobalEnv)
#> <environment: R_GlobalEnv>

abc
#> col_A col_B
#> 1 abc 123

def
#> col_A col_B
#> 1 def 456

创建于 2022-11-16 与 reprex v2.0.2

关于r - 过滤数据框并将结果附加到现有列表 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74465341/

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