选定列的mutate_each

时间:2016-01-29 01:12:51

标签: r dplyr

我对使用function

mutate_each应用于我的data.frame有疑问

我有一个函数可以计算两个波y1y2之间的相移。我想将此函数应用于我的数据并创建名为phase的新列,但我收到一条错误,其中一条参数缺少y2,即使我将它们放在我的{ {1}}。

也许我不擅长写作功能:)。

这是一个可重复的例子:

function

1 个答案:

答案 0 :(得分:2)

由于我们需要创建一个新列,并且函数phase_diff利用输入数据集中的所有列作为参数,OP可能需要mutate而不是mutate_each. The mutate_each`是用于应用于数据集中的每个列。

res <- df %>%
          mutate(phase = phase_diff(y1, y2, time))
head(res,2)
#         y1          y2 time      phase
# 1 0.01398857 0.010296090    1 -0.1349023
# 2 0.01334217 0.009990988    2 -0.1349023

可以使用base R

完成上述操作
phase_diff(df$y1, df$y2, df$time)