【发布时间】:2015-07-25 12:56:26
【问题描述】:
所以这里是一个数据框
a<-data.frame(Brand=c("X","Y","Z","d"),Month=1:4,TRP_A=6:9,TRP_B=7:10,TRP_C=10:7)
在自定义函数中,我需要选择 TRP_A、TRP_B 或 TRP_C 之一,这将是函数中的参数 TRP
假设我调用函数并作为参数 TRP 我输入 5,因此将选择 TRP_C 列。但它将被命名为 TRP_C,我需要进一步引用它,例如如果我想对列的总和求和。
我需要将 TRP_C 重命名为通用名称,例如 Target,因为下次我可能会使用 TPR_B 左右......但我不知道该怎么做,因为重命名函数需要传递原点名称。
aff<-function(brand,TRP) {
a<-a%>%select(Brand,Month,TRP)
total<-a%>%summarise(total=sum(TRP))
total
}
aff("X",5)
【问题讨论】:
-
您的函数中的
brand和Brand是不同的。您是否正在寻找实现此a %>% select(Brand, Month, 5) %>% rename(TRP=TRP_C) %>% summarise(total=sum(TRP))的函数 -
或者我们是否需要
filter基于brand' value and then get thesum(TRP) 的“品牌”行` -
会有很多变数的事情发生。就像您选择列后的第一个选项一样,我想将选择的任何 TRP 列重命名为通用名称,该名称将被进一步引用
-
可能是
aff <- function(brand, TRP1){ a %>% filter(Brand==brand) %>% select(Brand, Month, TRP1) %>% setNames(., c('Brand', 'Month', 'TRP')) %>% summarise(Total=sum(TRP)) } -
感谢 Akrun 成功了!