美文网首页
R语言基础学习(二)

R语言基础学习(二)

作者: monkey_study | 来源:发表于2022-04-17 22:00 被阅读0次

R语言基础第二部分学习,主要是
1.reshape2包对数据整合,主要进行融合(melt)重塑(dcast)过程,这个过程也可以使用dplyr实现(没记错的话)。

reshape2

library(reshape2)   #加载reshape2包
x <- data.frame(k1=c(NA,NA,3,4,5),k2=c(1,NA,NA,4,5),
                data=1:5)
y <- data.frame(k1=c(NA,2,NA,4,5),k2=c(NA,NA,3,4,5),
                data=1:5)
x
y
?merge
args(merge)  #查看函数的参数
merge(x,y,by="k1")
merge(x,y,by=c("k1","k2"))
help(package="reshape2")
melt()   #融数据  输入 object  对象, 数据框,矩阵,数组,列表
airquality   #纽约的空气质量数据框  data.frame
class(airquality)
names(airquality)
names(airquality)<-tolower(names(airquality))  #列名转换为小写
air<- melt(airquality)  #数据融合,每一行都是标识符与变量的组合,然后用dcast函数重铸数据
head(air,50)
class(air)  #data.frame
class(air$variable)   #"factor"
head(airquality)
air<- melt(airquality, id=c("month", "day"))  
# ~   符号表示相关联,说明二者有联系
aqw <- dcast(air,month+day~variable)
aqw <- dcast(air,month~variable,fun.aggregate = mean,na.rm=T)

tidyr

chooseCRANmirror()
library(tidyr)
install.packages("tidyr")
help(package="tidyr")
mtcars
tdata <- mtcars[1:10,1:3]
qdata <- data.frame(names=rownames(tdata),tdata)   ##将names和tdata合并
qdata<- gather(tdata,key="key",value = "value",cyl,disp,mpg)  #类似于reshape2的melt函数
spread(qdata,key="key",value = "value")
df <- data.frame(x=c(NA,"a.b-c","a-d","b-c"))
df
?separate  #分割字符串列到多列
x<- separate(df,col = x,into = c("c","d"),sep = "-")  #col  分割列,  into 分割之后的列名,字符串向量  sep 连字符设定
##多列合并为一列通过连接字符串在一块的方式
unite(x,col = "cd",c,d,sep = "-")

2.这部分也是对数据进行清洗整理,操作中间可以用管道符号%>%(快捷键 ctrl+shift+M)传递参数(类似于attach函数),mutate函数增加或者修改列,rename函数对列名进行重命名,filter以及select函数分别按照某种条件(逻辑型、数值、字符串都可以)对列与行进行选择。slice函数,按照位置信息去除任意一行。arrange函数对数据进行重排。
****join 取交集、并集、补集等

dplyr

library(dplyr)
ls("package:dplyr")   #查看包中的函数
??dplyr
?slice
dplyr::filter(iris,Sepal.Length>7)   #按照条件筛选符合的列
dplyr::distinct(rbind(iris[1:10,],iris[1:15,]))     #去重复,类似unique
dplyr::slice(iris,2)  #取出第二行
#切片,按照位置信息取出数据的任何一行,挑选,去除,复制任意一行,输入为数据框
iris[2,]
mtcars %>% slice(1L)
dplyr::sample_n(iris,10)  #随机抽取10行
dplyr::arrange(iris,desc(Sepal.Length))    ##排序,desc函数,降序排序
dplyr::arrange(iris,-Sepal.Length)  #负号等同于 desc函数
dplyr::select()    #取子集
?select
summarise(iris,avg=mean(Sepal.Length))   #计算Sepal.Length的平均值,并命名为avg
?summarise
### 链式操作符  %>%   快捷键  ctrl+shift+M
dplyr::group_by(iris,Species)   #利用group_by 函数对iris根据Species列进行分组
iris %>% group_by(Species) %>% summarise()    #分组并进行统计
iris %>% group_by(Species) %>% summarise(avg=mean(Sepal.Width)) %>% arrange(avg)  #分组,求平均值,排序
dplyr::mutate(iris,new=Sepal.Length+Petal.Length)  #增加或修改某一列

###connecte
a <- data.frame(x1=c("A","B","C"),x2=c(1,2,3))
b <- data.frame(x1=c("A","B","D"),x3=c(T,F,T))
dplyr::left_join(a,b,by="x1")
dplyr::right_join(a,b,by="x1")
dplyr::full_join(a,b,by="x1")
dplyr::semi_join(a,b,by="x1")   #根据右侧表的内容,对左侧表进行过滤
dplyr::anti_join(a,b,by="x1")  #将a相对于b的补集输出。
first <- slice(mtcars,1:20)
setdiff()   ##取补集
q()

lm 用于线性拟合, 参数格式 因变量~自变量+自变量+互作变量,用summary函数查看结果

R函数

head(state.x77)
class(state.x77)  #"matrix" "array" 
colnames(state.x77)
state <- as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])
fit <- lm(Murder~Population+Illiteracy+Income+Frost,data = state)
?lm
summary(fit)
class(fit)
ls()
rm(fit)
##要清楚返回值得类型
plot(a)  #返回图形
###清楚数据的输入数据格式
# 输入数据类型
# 向量   sum mean sd range median sort order 
# 矩阵或者数据框   cbind   rbind
# 数字矩阵  heatmap

par函数,画图时可以设置一些有趣的参数,比如mar参数等

选项参数

# 选项是买什么,参数是买多少
par()
length(par())   #par函数有72个元素
# 选项参数 包括 1.输入控制部分(函数可以接受哪些类型数据)
# file:接一个文件
# data:一般指要输入一个数据框
# x:表示单独的一个对象,一般都是向量,也可以是矩阵或者列表
# x和y:函数需要两个输入变量
# x,y,z:函数需要三个输入变量
# formula:公式
# na.rm:删除缺失值
?sum
?sd   #一个变量
?plot  #二维
library(scatterplot3d)
?scatterplot3d   #三维
# ... 表示参数可以传递,通用
# 统计分析中多数用到formula参数  一般用波浪线左连接
# 2. 输出控制部分 
# 3. 调节部分
# 1.1 根据名字判断选项作用
# color选项用来控制颜色
# select与选择有关
# font与字体有关   font.axis坐标轴的字体
# lty是line type    lwd是line width
# method  软件算法
# 1.2 选项接受那些参数
# main:字符串,不能是向量
# na.rm:TRUE或者FALSE
# axis:side参数只能是1到4  ,坐标轴的方向
# fig :包含四个元素的向量   图形区域的位置
# 包含row和col  行列

相关文章

  • R语言-0基础学习4-实战1-常见操作

    R语言学习系列R语言-0基础学习1-数据结构R语言-0基础学习2-构建子集R语言-0基础学习3-循环排序信息处理函...

  • 学习小组Day4笔记--行

    正式开始学习R语言了,今天笔记内容为R语言基础和ggplot2的入门学习 R语言基础 1、认识R与RStudio ...

  • R语言基础学习(二)

    R语言基础第二部分学习,主要是1.reshape2包对数据整合,主要进行融合(melt)重塑(dcast)过程,这...

  • 《学习小组Day4笔记--寒鹤》

    R语言基础 今天的课程内容是R语言基础,包括R及Rstudio的安装,R语言的一些基本操作等。因之前已学习过R语言...

  • Day4 学习小组--张小张

    今天是 R 语言基础的学习 了解R与Rstudio R 语言是一款统计软件; R 语言也是一门编程语言,语言也是一...

  • R语言基础--数据类型-总结

    R语言基础--数据类型-总结 1、R语言基础--数据类型之向量 2、R语言基础--数据类型之因子 3、R语言基础-...

  • day5 阿来

    继续学习R语言 R语言数据学习 数据R语言学习.png 数据输入 数据输出 总结 R语言学习的第二天,熟悉了很多操...

  • 学习小组Day4 R语言基础--yu

    R语言基础 各种学习链接 R安装教程 R安装 https://mirrors.tuna.tsinghua.edu....

  • R语言--基础(二)

    1. 决策 概述决策结构要求程序员指定要由程序评估或测试的一个或多个条件,以及如果条件被确定为真则要执行的一个或多...

  • R语言基础(二)

    对象 1. 数据的类型与结构 1.1 数据的结构 1.2 原子数据的类型atomic vector包括 char\...

网友评论

      本文标题:R语言基础学习(二)

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