R-随笔-from homework

2020-09-15 12:36:13 浏览数 (1)

概述

此次作业选择的是鸢尾花数据,因为可以从r语言预先设置的数据集中提取,所以读入数据这里我不做代码书写,不使用read.csv(),直接使用data()命令获得数据集 # 读入数据

代码语言:javascript复制
data(iris)
# 如果为外部数据可以使用
# read.csv()
summary(iris)
代码语言:javascript复制
##   Sepal.Length    Sepal.Width     Petal.Length    Petal.Width
##  Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100
##  1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300
##  Median :5.800   Median :3.000   Median :4.350   Median :1.300
##  Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199
##  3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800
##  Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500
##        Species
##  setosa    :50
##  versicolor:50
##  virginica :50
##
##
##

编写循环

使用for循环,实现对iris数据集各个列的均值求解

代码语言:javascript复制
head(iris)
代码语言:javascript复制
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
代码语言:javascript复制
# 建立空向量存储结构
result_mean<-c()#
for(i in 1:4){
  a<-mean(iris[,i])
  print(a)# 打印
  result_mean<-c(result_mean,a)
}
代码语言:javascript复制
## [1] 5.843333
## [1] 3.057333
## [1] 3.758
## [1] 1.199333
代码语言:javascript复制
result_mean
代码语言:javascript复制
## [1] 5.843333 3.057333 3.758000 1.199333

ggplot绘图

使用ggplot绘制iri数据集的散点图、箱式图

代码语言:javascript复制
library(ggplot2)#get the packages
# plot the san dian tu
ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width,group=Species,colour=Species)) 
  geom_point()

可以看出根据两个指标无法区分三类的鸢尾花 ## 看看这四个指标有没有差异,可视化箱式图

代码语言:javascript复制
library(reshape2)
iris_long<-melt(iris,id.var= "Species")
head(iris_long)
代码语言:javascript复制
##   Species     variable value
## 1  setosa Sepal.Length   5.1
## 2  setosa Sepal.Length   4.9
## 3  setosa Sepal.Length   4.7
## 4  setosa Sepal.Length   4.6
## 5  setosa Sepal.Length   5.0
## 6  setosa Sepal.Length   5.4
代码语言:javascript复制
ggplot(iris_long,aes(x=factor(variable),y=value,fill=Species)) 
  geom_boxplot() 
   facet_wrap(~variable,scale="free")# 试试分面

总结

关于ggplot绘制两个图,比R语言自带的绘制好很多,love&peace

0 人点赞