【发布时间】:2017-04-02 02:17:45
【问题描述】:
例如,如果我有这样的数据框:
df <- data.frame(profit=c(10,10,10), year=c(2010,2011,2012))
profit year
10 2010
10 2011
10 2012
我想根据year改变profit的值。对于 2010 年,我将利润乘以 3,对于 2011 年,将利润乘以 4,对于 2012 年,将利润乘以 5,结果应该是这样的:
profit year
30 2010
40 2011
50 2012
我应该如何处理这个问题?我试过了:
inflationtransform <- function(k,v) {
switch(k,
2010,v<-v*3,
2011,v<-v*4,
2012,v<-v*5,
)
}
df$profit <- sapply(df$year,df$profit,inflationtransform)
但它不起作用。谁能告诉我该怎么做?
【问题讨论】:
标签: r