cbind的元素提取和绝对值(练习)

作者: 卞卡727 | 来源:发表于2017-05-27 17:04 被阅读0次
  • 生成20个正态分布随机数M1-M4
  • 将商品数乘以1000作为商品销量的假设数据S1-S4
  • 将S1-S4作为20个商品的四个季度销量并生成数据框
  • 将商品每季度销量提高1.2.
  • 将明年每季度销量提高1.5%并于今年作比较
  • 加上年合计数和月平均销量两列,并加上明年预计的总销量(今年销量增长28%)
m1<-rnorm(20)
m2<-rnorm(20)
m3<-rnorm(20)
m4<-rnorm(20)```

s1<-abs(m11000)#abs函数取绝对值
s2<-abs(m2
1000)
s3<-abs(m31000)
s4<-abs(m4
1000)```

mysale<-data.frame(list(id=c(1:20),季度1=s1,季度2=s2,季度3=s3,季度4=s4))
#  创建数据框视为长度相同的列表```

mysale[,2:5]<-round(mysale[,2:5]*1.2)

将mysale中第2到第5列元素乘以1.2倍,

并用round函数进行四舍五入后->给mysale中第2到第5列元素。```

出现错误

> mysale<-round(mysale[,2:5]*1.2)#将mysale中第2到第5列元素乘以1.2倍, 并用round函数进行四舍五入后->给mysale,导致mysale被重新赋值

将明年每季度销量提高1.5%并于今年作比较

 newsale<-mysale#先将mysale赋值给newsale
 newsale[,2:5]<-round(mysale[,2:5]*1.15)#计算明年的值
 newsale<-cbind2(mysale,newsale[,2:5])#将今年的值和明年的值合并```



for(i in 6:9){names(newsale)[i]=paste("明年预计",names(newsale)[i])}

用for循环语句将newsale中6:9列的列名依次与"明年预计"合并.

names(newsale)
[1] "id" "季度1" "季度2" "季度3" "季度4"
[6] "明年预计 季度1" "明年预计 季度2" "明年预计 季度3" "明年预计 季度4"`

### 加上年合计数和月平均销量两列,并加上明年预计的总销量(今年销量增长28%)

cbind(mysale,"年合计数"=newsale$季度1+newsale$季度2+newsale$季度3+newsale$季度4,
"月平均销量"=newsale$季度1+newsale$季度2+newsale$季度3+newsale$季度4/12)->mysale
cbind(mysale,"明年预计销量"=mysale$年合计数*1.28)


cbind(mysale,"年合计数"=newsale$季度1+newsale$季度2+newsale$季度3+newsale$季度4,

  •   "月平均销量"=newsale$季度1+newsale$季度2+newsale$季度3+newsale$季度4/12)
    
    id 季度1 季度2 季度3 季度4 年合计数 月平均销量 年合计数 月平均销量
    1 1 285 427 1657 924 3293 2446.0000 3293 2446.0000
    2 2 422 667 713 479 2281 1841.9167 2281 1841.9167
    3 3 1583 16 122 1002 2723 1804.5000 2723 1804.5000
    4 4 66 1464 235 920 2685 1841.6667 2685 1841.6667
    5 5 1879 1206 844 1782 5711 4077.5000 5711 4077.5000
    6 6 264 68 1422 430 2184 1789.8333 2184 1789.8333
    7 7 1785 940 1586 514 4825 4353.8333 4825 4353.8333
    8 8 419 78 135 427 1059 667.5833 1059 667.5833
    9 9 450 306 787 393 1936 1575.7500 1936 1575.7500
    10 10 1051 1125 1275 1578 5029 3582.5000 5029 3582.5000
    11 11 375 559 97 911 1942 1106.9167 1942 1106.9167

cbind(mysale,"明年预计销量"=mysale$年合计数*1.28)
id 季度1 季度2 季度3 季度4 年合计数 月平均销量 年合计数 月平均销量 明年预计销量
1 1 285 427 1657 924 3293 2446.0000 3293 2446.0000 4215.04
2 2 422 667 713 479 2281 1841.9167 2281 1841.9167 2919.68
3 3 1583 16 122 1002 2723 1804.5000 2723 1804.5000 3485.44
4 4 66 1464 235 920 2685 1841.6667 2685 1841.6667 3436.80
5 5 1879 1206 844 1782 5711 4077.5000 5711 4077.5000 7310.08
6 6 264 68 1422 430 2184 1789.8333 2184 1789.8333 2795.52
7 7 1785 940 1586 514 4825 4353.8333 4825 4353.8333 6176.00
8 8 419 78 135 427 1059 667.5833 1059 667.5833 1355.52
9 9 450 306 787 393 1936 1575.7500 1936 1575.7500 2478.08

相关文章

网友评论

    本文标题:cbind的元素提取和绝对值(练习)

    本文链接:https://www.haomeiwen.com/subject/symqfxtx.html