露哥的摸爬滚打|R语言入门
Posted somylu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了露哥的摸爬滚打|R语言入门相关的知识,希望对你有一定的参考价值。
说在前面
新的领域,关于R语言的学习,
这是本人的学习笔记,
也是对自己的监督,
参考书籍:《R语言实战(第2版)》,
Let's begin!
简介
本文主要是对R语言初步了解,包括R的介绍、包的安装,不同数据集的创建等内容。
废话不多说,看就完事了!
为啥使用R
基于我对R的了解,R有以下优点:
1、它free。
2、制图功能强大
3、数据分析技术强大
4、听说代码简单
5、待补充
走入R
一个R会话示例
age<- c(1,2)
weight <- c(122,133)
mean(weight)
[1] 127.5
sd(weight)
[1] 7.778175
plot(age,weight)
这是系统定义的图形,不够美观哈哈哈。如果想大概了解R能够做出何种图形,在命令行中运行demo()即可。
注意:R语句由函数和赋值构成。R使用<-,而不是传统的=作为赋值符号。

demo(package = .packages(all.available = TRUE))可列出所有*可用*包中的演示。
获取帮助
R提供了大量的帮助功能,学会如何使用这些帮助文档可以在相当程度上助力你的编程工作。

工作空间
工作空间(workspace)就是当前R的工作环境,它存储着所有用户定义的对象(向量、矩阵、函数、数据框、列表)。

注意:setwd()命令的路径中使用了正斜杠“/”。
输入与输出
1、输入
函数source("filename")可在当前会话中执行一个脚本。
2、输出
函数sink("filename")将输出重定向到文件filename中。默认情况下,如果文件已经存在,则它的内容将被覆盖。使用参数append=TRUE可以将文本追加到文件后,而不是覆盖它。参数split=TRUE可将输出同时发送到屏幕和输出文件中。不加参数调用命令sink()将仅向屏幕返回输出结果。
3、图形输出
要重定向图形输出,使用下表中列出的函数即可。最后使用dev.off()将输出返回到终端。

4、流程图

啥是包

包是R函数、数据、预编译代码以一种定义完善的格式组成的集合。计算机上存储包的目录称为库(library)。
函数.libPaths()能够显示库所在的位置,函数library()则可以显示库中有哪些包。命令search()可以告诉你哪些包已加载并可使用。
包的sao操作

安装包:install.packages()
示例:install.packages("gclus"),不要忘记引号哦!
更新包:update.packages()
查看包:installed. packages()
载入包:library()
帮助包:help(package="package_name")
创建数据集
数据结构

1、向量
> a <- c(1,2,3,4,5)
> a
[1 2 3 4 5 ]
> b<-c("黑黑","哈哈","露哥")
> b
["黑黑" "哈哈" "露哥" ]
注:单个向量中的数据必须拥有相同的类型或模式(数值型、字符型或逻辑型)
2、矩阵
myymatrix < - matrix ( vector,nrow=number_of_rows,ncol=number_ of_columns,byrow=logical_value, dimnames=list(char_vector_rownames,
char_vector_colnames))
y<-matrix(1:6,nrow=2,ncol=3)
y
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
cells <- c(177,180,182,188)
"露哥","黑黑") > rnames <- c(
"2019","2020") cnames <- c(
mymatrix<matrix(cells,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rnames,cnames))
mymatrix
2019 2020
露哥 177 180
黑黑 182 188
3、数组
myarray<- array(vector,dimensions,dimnames)
"a1","a2") dim1 <- c(
"b1","b2") dim2 <- c(
"c1","c2","c3") dim3 <- c(
myarray <- array(1:12,c(2,2,3),dimnames=list(dim1,dim2,dim3))
myarray
, , c1
b1 b2
a1 1 3
a2 2 4
, , c2
b1 b2
a1 5 7
a2 6 8
, , c3
b1 b2
a1 9 11
a2 10 12
4、数据框
数据框可通过函数data.frame()创建:
mydata<-data.frame(col1,col2,col3,col4...)
> a <- c(1,2,3)
> b<-c("黑黑","哈哈","露哥")
> c <- c(TRUE,FALSE)
> c <- c(TRUE,FALSE,TRUE)
> mydata <- data.frame(a,b,c)
> mydata
a b c
1 1 黑黑 TRUE
2 2 哈哈 FALSE
3 3 露哥 TRUE
> mydata$b
[1] "黑黑" "哈哈" "露哥"
> table(mydata$b,mydata$c)
FALSE TRUE
哈哈 1 0
黑黑 0 1
露哥 0 1
5、列表
mylist <- list(object1,object2,object3...)
mylist<-list(name1=object1,name2=object2,name3=object3...)
"哈哈哈哈哈" g <-
a <- c(1,2,3,4,5)
"黑黑","哈哈","露哥") b<-c(
c <- c(TRUE,FALSE)
mylist <- list(title=g,messages=a,b,c)
mylist
$title
[1] "哈哈哈哈哈"
$messages
[1] 1 2 3 4 5
[[3]]
[1] "黑黑" "哈哈" "露哥"
[[4]]
[1] TRUE FALSE
数据的输入
可供R导入的数据源

1、手动输入数据
numeric(0),gender=character (0),weight=numeric(0)) =
mydata <- edit(mydata)

2、从带分隔符的文本文件导入数据
使用read.table()从带分隔符的文本文件中导入数据。
mydataframe <- read.table(file,options)

3、导入Excel数据
read.xlsx(file, n)
函数

最后
我决定在每个结尾加一个彩蛋,分享快乐!


下一期预告|基本数据处理
somylu
2020.8.21
往期推荐
+
+
+
扫二维码|点赞+在看
一起等风来
以上是关于露哥的摸爬滚打|R语言入门的主要内容,如果未能解决你的问题,请参考以下文章