R新手在这里,我想弄清楚如何在数据框中的每一行上应用函数,并将结果添加到数据框中。更准确地说,我在下面提供一个示例。
所以说我有:
n = c(2, 3, 5)
s = c("aa", "bb", "cc")
b = c(TRUE, FALSE, TRUE)
df = data.frame(n, s, b)
df
n s b
1 2 aa TRUE
2 3 bb FALSE
3 5 cc TRUE
我的虚拟函数是:
dummyfunc <- function(x)
{
return (x*2)
}
我的目标是在第n列上应用dummyfunc并获得以下结果:
n s b
1 4 aa TRUE
2 6 bb FALSE
3 10 cc TRUE
我了解到apply可以做到这一点,但我无法弄清楚如何在每一行上使用它。
您可以使用 transform
> (df2 <- transform(df, n=dummyfunc(n)))
n s b
1 4 aa TRUE
2 6 bb FALSE
3 10 cc TRUE
within
也有效
> (df3 <- within(df, n <- dummyfunc(n)))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句