gpt4 book ai didi

r - 按因子选择值

转载 作者:行者123 更新时间:2023-12-01 03:17:11 25 4
gpt4 key购买 nike

我有一个数据框,看起来像:

     a   b   c
1 1 2 3
2 3 4 5
3 4 5 2
4 3 5 6
.....

我正在尝试创建某种选择器函数,该函数将根据列名向量(即输入向量)在 a、b 或 c 列中创建值向量:
c(a,b,c,b,...)

选择器函数的输出应该是:
c(1,4,2,5,...)

我可以通过循环槽行或嵌套 ifelse 来做到这一点,但是如果有更多列,是否有更好(更通用)的方法?

最佳答案

我们需要行/列索引来从数据集中提取值,即

df1[cbind(1:nrow(df1), match(v1, colnames(df1)))]
#[1] 1 4 2 5

数据
v1 <- c('a','b','c','b')
df1 <- structure(list(a = c(1L, 3L, 4L, 3L), b = c(2L, 4L, 5L, 5L),
c = c(3L, 5L, 2L, 6L)), .Names = c("a", "b", "c"), class = "data.frame", row.names = c("1",
"2", "3", "4"))

关于r - 按因子选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48127381/

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