假设我们有一个数据帧(df
(,如下所示:
a b
1 2
2 4
3 6
如果我想计算向量a
和b
中每个元素的比率,并分配给变量c
,我们可以这样做:
c <- df$a / df$b
然而,我想知道如何使用dplyr
包来完成同样的事情?也就是说,有什么方法可以使用dplyr
中的函数来实现这一点吗?
也许你可以试试下面的代码
df %>%
mutate(c = do.call("/", .))
或
df %>%
mutate(c = Reduce("/", .))
或
df %>%
mutate(c = a/b)
带有invoke
的选项
library(dplyr)
library(purrr)
df %>%
mutate(c = invoke('/', .))
-输出
# a b c
#1 1 2 0.5
#2 2 4 0.5
#3 3 6 0.5
数据
df <- data.frame(a = c(1,2,3), b= c(2,4,6))
您可以使用dplyr
库中的mutate
函数:
df <- data.frame(a = c(1,2,3), b= c(2,4,6))
library(dplyr)
df <- df %>%
dplyr::mutate(c = a/b)
控制台输出:
a b c
1 1 2 0.5
2 2 4 0.5
3 3 6 0.5