gpt4 book ai didi

r - 通过对行和列使用索引向量从数据框中提取值?

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

我正在寻找一种更好的方法,通过对行和列使用索引向量来从数据框中提取值。下面的示例工作正常,但我想有更有效的方法使用某种 sapply 或 purr::map 技巧?

df <- data.frame(a = c("a1","a2", "a3", "a4"), b= c("b1","b2", "b3", "b4"), stringsAsFactors = F)
col_selector <- sample(as.integer(c(1,2)), size = 10, replace = T)
row_selector <- sample(as.integer(c(1:4)), size = 10, replace = T)

v = character()
for (i in seq_along(col_selector)) {
v = c(v, df[row_selector[i], col_selector[i]])
}
print(v)
[1] "a4" "a3" "a4" "a2" "a3" "a1" "b1" "b1" "b3" "b1"

最佳答案

我们可以使用cbind 创建行/列索引的矩阵,并使用它从数据集中提取元素

v2 <- df[cbind(row_selector, col_selector)]
identical(v, v2)
#[1] TRUE

关于r - 通过对行和列使用索引向量从数据框中提取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60857898/

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