我有一个数据框,其中每个区域的销售价值在一年的前三个季度及其总数
Zone Q1 Q2 Q3 total
a 15.21 53.31 80.1 109.04
b 19.2 52.35 71.5 84.1
c 10.24 28.56 70.41 100.05
d 11.94 38.58 59.72 76.34
e 11.05 37.32 53.34 67.97
我必须找到每个季度的最大销售价值以及区域名称。我用了sapply(df[,c(2:5)],function(X) max(X))
获得了每个季度的最大销售额以及总额。结果
Q1 Q2 Q3 Total
19.2 53.51 80.10 109.04
但它还需要每个最大值的区域名称。哪个函数可用于获取区域名称或唯一的方法是找到每个区域,将其附加到向量?
答案 0 :(得分:3)
不能这样做。你可以相应地做出这个功能。
dimen
感谢是否有效。
答案 1 :(得分:0)
你可以这样做......
df2 <- df[,-1]
#difference columns to get quarterly sales (yours appear to be cumulative)
df2[,-1] <- df2[,-1]-df2[,-4]
#rename final quarter
names(df2)[4] <- "Q4"
#create data frame with best sales for each quarter
best <- data.frame(Zone=df$Zone[apply(df2, 2, which.max)],
Sales=apply(df2, 2, max))
best
Zone Sales
Q1 b 19.20
Q2 a 38.10
Q3 c 41.85
Q4 c 29.64