如何将返回带有因子的 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
如何获得正确的因子值?
这个例子被简化了。因此,在这种情况下,也许有一种更简单的方法可以做到这一点。