代码之家  ›  专栏  ›  技术社区  ›  Kirsten

如何在r中编写用户定义的函数?

r
  •  0
  • Kirsten  · 技术社区  · 4 年前

    数量整数 价格小数

    我想计算第三列的值,叫做Total。

    select Price*Quantity as Total from mytable
    

    select calcTotal(quantity,price) as total from mytable
    

    如何在R中编写一个函数,将类似的列添加到数据帧中?

    我试图阐述我的问题 here

    0 回复  |  直到 4 年前
        1
  •  0
  •   neilfws    4 年前

    在R中,这种操作是 total 只需乘以其他列:

    mytable$total <- mytable$quantity * mytable$price
    

    或者更干净一点:

    mytable$total <- with(mytable, quantity * price)
    

    “tidyverse”使用的方式 dplyr::mutate

    library(dplyr)
    mytable <- mytable %>%
        mutate(total = quantity * price)
    

    如果您想要一个函数:

    calcTotal <- function(x, y) {
      x * y
    }
    

    例如

    mytable <- mytable %>%
      mutate(total = calcTotal(quantity, price))
    

    但是,请注意,并非所有函数都以这种方式“按行”工作,在这种情况下,您可以使用 purrr