for循环
依次从目标对象中取出元素进行运算
基本语法和格式
for(n in x) {expr}
n每次从x中顺序取值,带入到后面的expr中进行运算。
使用for和length找到所有月平均销量大于平均值的商品
mysale<-data.frame(list(id=c(1,2,3,4,5,6),销量=c(152,201,92,105,197,385)))
mysale
meansale=mean(mysale$销量) #提取数据框中的销量,求平均
for (i in 1:length(mysale$销量))#在销量里,从第一个元素开始至长度结束的元素依次提取放入i中,理解为使用for定义了i。
+{ if (mysale$销量[i] >= meansale) #用if函数设定i中大于等于平均值的元素,
+{print(paste(mysale$id[i],mysale$销量[i])) }}#paste合并字符串后输出。
运行结果
> mysale<-data.frame(list(id=c(1,2,3,4,5,6),销量=c(152,201,92,105,197,385)))
> print(mysale)
id 销量
1 1 152
2 2 201
3 3 92
4 4 105
5 5 197
6 6 385
> meansale=mean(mysale$销量)
> for (i in 1:length(mysale$销量)){
+ if (mysale$销量[i] >= meansale) {
+ print(paste(mysale$id[i],mysale$销量[i]))
+ }
+ }
[1] "2 201"
[1] "5 197"
[1] "6 385"
> meansale
[1] 188.6667