gpt4 book ai didi

r - 如何应用函数返回带有因子的 data.frames 以进行排序

转载 作者:行者123 更新时间:2023-12-04 02:56:19 25 4
gpt4 key购买 nike

我如何应用一个函数,该函数返回一个带有因子的 data.frame 到一个序列?

例子:

s <- factor(c(10, 20, 30))
t <- factor(c("a", "b", "a"))
v <- c(5, 6, 4)

df <- data.frame(s,t,v)

所以 data.frame df 是这样的:
   s t v
1 10 a 5
2 20 b 6
3 30 a 4

我还有一个返回 data.frame 的函数:
simpleFunc2 <- function(df, x){
tmp <- subset(df, df$s == x)
return(tmp)
}

现在我有一个序列
x <- c(20, 30, 10, 30, 10)

并希望结果 auf 将函数 simpleFunc2 应用于此序列。

我用 sapply
sapply(x, function(x) simpleFunc2(df, x))

但我得到
  [,1]     [,2]     [,3]     [,4]     [,5]    
s factor,1 factor,1 factor,1 factor,1 factor,1
t factor,1 factor,1 factor,1 factor,1 factor,1
v 6 4 5 4 5

我如何获得正确的因子值?

此示例已简化。所以在这种情况下,也许有一种更简单的方法来做到这一点。

最佳答案

试试 lapply代替 do.call如:

do.call(rbind, lapply(x, function(x) simpleFunc2(df=df, x)))

关于r - 如何应用函数返回带有因子的 data.frames 以进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14186051/

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