【发布时间】:2021-05-22 11:41:27
【问题描述】:
我有一个包含多个数字和字符列的数据框。例如,
> df <- data.frame(Name=c('John','Tom','Sarah'), Quantity=c(3,4,5), Price=c(5,6,7))
> df
Name Quantity Price
1 John 3 5
2 Tom 4 6
3 Sarah 5 7
我想编写一个函数来检查姓名是 John 还是 Tom,然后计算 Sales=Quantity*Price。该函数如下所示:
myFunc <- function(x) {
if (Name %in% c('John','Tom') {
Sales <- Quantity * Price
}
}
我想将数据帧的每一行发送到函数以获得以下输出:
Name Quantity Price Sales
1 John 3 5 15
2 Tom 4 6 24
3 Sarah 5 7 NA
我尝试按照以下链接中的建议进行操作,但没有成功: Call apply-like function on each row of dataframe with multiple arguments from each row
如何在 R 中实现这一点?感谢您的帮助。
【问题讨论】: