使用dplyr中的do()调用每行函数的最佳样式?

时间:2015-03-09 19:10:54

标签: r dplyr

假设我有以下数据框:

  df <- data_frame(
    my_x1 = c(1, 11, 21), 
    my_x2 = c(10, 20, 30), 
    my_y1 = c(100, 200, 300), 
    my_y2 = c(400, 500, 600))

对于每一行,我想在点(x1,y1)和(x2,y2)之间进行插值,在x1和x2之间的所有整数上进行求值。

这就是我现在正在做的,它正在产生我想要的输出,但是IMO代码本身有点乱,所有的“。$”符号到处都是,并且列重命名为第二步: / p>

  df2 <- df %>% 
    rowwise() %>% 
    do(., data.frame(
      approx(
          x=c(.$my_x1, .$my_x2), 
          y=c(.$my_y1, .$my_y2), 
          xout=.$my_x1:.$my_x2))) %>%
    rename(my_x = x, my_y = y) %>%
    as_data_frame()

样式方面,这是使用do()在数据帧的每一行上调用函数的正确约定,还是有更好的方法?

0 个答案:

没有答案