动态选择一组列并计算其均值和标准差。
以下是一个示例:
sales <- data.frame(ItemID=c("1A","1B","1C"),
Jul=c(0,1,5),
Aug=c(1,2,6),
Sep=c(0,3,7),
Oct=c(1,4,8),
Nov=c(1,4,8),
Dec=c(1,4,8),
Jan=c(1,4,8),
Nmon=c(7,4,6))
以上测试数据给出了下面的表格。我需要根据“Nmon”列中的值在每一行上应用函数。
ItemID Jul Aug Sep Oct Nov Dec Jan Nmon
1 1A 0 1 0 1 1 1 1 7
2 1B 1 2 3 4 4 4 4 4
3 1C 5 6 7 8 8 8 8 6
例如,第一条记录的Nmon值为7。然后我需要计算从七月到一月所有值的平均值和标准差(平均值=0.71,标准差=0.49)。
对于第二条记录,其中Nmon值为4,平均值和标准差应仅针对从十月到一月的月份计算(平均值=4,标准差=0)。
在这种情况下,月数可能会增加或减少,但第一个(项目编号)和最后一个(Nmon)列将保持不变。我有一个大型数据集,并需要一种有效的方法来进行这些计算。