1. 认识 R和 RStudio
1.1 R和 RStudio 简介
R是使用广泛的统计计算和绘图分析软件,基于S语言编写,20世纪90年代初,由Ross Ihaka 和 Robert Gentleman 共同编写,2000年发行1.0.0版本。
RStudio是R语言的集成开发环境(IDE),RStudio之于R,相当于Pycharm之于python。RStudio是开源项目。
为什么要使用R :
-
强大的绘图功能,能轻松绘制你想要的任何图像
-
免费,开源
-
强大的技术社区支持
R Markdown用来从 R 中创建文档和网页,Shiny 则是使用 R 创建交互式应用程序。
Style guide · Advanced R.
1.2 RStudio 界面介绍
左上:代码编辑栏。用于编辑代码,点击 run 即可运行。
左下:命令控制台,代码运行后,实时显示结果,如果出错,会进行报错。
右上:显示自定义的对象。
右下:查看文件、显示图像、获取包、获取帮助。
四个界面的大小可以自由拖动。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t80N3pjX-1661255284097)(https://jxinuhe8ml.feishu.cn/space/api/box/stream/download/asynccode/?code=ZDA5MzUzNTY4ZmQ0ZTA3YzU5YjQzMWVhNWJlZGRhMTRfUHBaZjhmQkZrdGdWTmlkQzRZcUdGTmh1UnhMVTVOS0dfVG9rZW46Ym94Y252YlF2UzhKZTRqSG1lNmxOQ3hPYVliXzE2NTk2OTgyNDA6MTY1OTcwMTg0MF9WNA)]
R具有庞大的生态,你在学习和使用R中遇到的问题,都可以通过help获取帮助。你可以点击上方的R help,跳转到右下角搜索想要的答案。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XZonPCQa-1661255284098)(https://jxinuhe8ml.feishu.cn/space/api/box/stream/download/asynccode/?code=NzY0MDA4Y2RlOWI4YWNlNDgwOWIzZjQ4MDg4YzU4YzhfdWVTWDdseThMakpleGRRV3VaMHNLdTJLNFpWZ0xGOUxfVG9rZW46Ym94Y25Pa05QQWJSdHZGMFhURklZM3RSd1FkXzE2NTk2OTgyNDA6MTY1OTcwMTg0MF9WNA)]
1.3 基本操作介绍
赋值
R 有一个最基本的概念——赋值,即把数据、表格等,赋予给一个新的变量,在R中赋值符号为 <-
。比如:
x <- 2+3*6
y <- x
x = 56
y
输出结果为:
[1] 20
创建和保存文件
@todo
代码执行
使用Ctrl
+Enter
(command
+return
)执行本句代码,Ctrl
+Shift
+Enter
(command
+shift
+return
)执行文件中所有代码。
分隔符
当代码很长时,可以通过Ctrl
(command
) + shift
+ R
插入像上面foo
, bar
风格符,增加代码可读性。
2. 向量(vector)
2.1 向量使用
对变量赋值,是R中的基本操作。赋值用符号<-
,多个元素赋值可以使用c()
(concatenate)函数.
x <- 5
num <- c(1, 4, 6, 19)
输出结果:
> nums
[1] 1 4 6 19
查看向量长度:
num <- c(1, 4, 6, 19)
length(num)
输出结果:
[1] 4
多个向量合并:
fruit_1 <- c("Apple","Banana","Carambola')
fruit_2 <- c("Durian","Haw","Lemon")
fruits <- c(fruit_1, fruit_2, c("Papaya","Persimmon","Strawberry"))
fruits
输出结果为:
> fruits
[1] "Apple" "Banana" "Carambola" "Durian" "Haw"
[6] "Lemon" "Papaya" "Persimmon" "Strawberry"
2.2 从列表中提取需要的元素
和python一样,R也可以提取需要的元素,但和python不一样的是,R从第一个开始:
看下面一个列表
fruits <- c("Apple", "Banana", "Carambola", "Durian", "Haw", "Lemon" , "Papaya" , "Persimmon", "Strawberry")
fruits[3] # 提取第三个
fruits[c(2,5,7)] # 提取第2、5、7个
fruits[-c(2,5,7)] # 提取除了第2、5、7个的元素
fruits[c(2,5,7)] <- c("ON", "UP", "DOWN") # 第2,5,7个重新赋值
fruits[c(2:6)] # 提取第2,3,4,5,6个,包含第2个
fruits[2:6] # 提取第2,3,4,5,6个,包含第2个
fruits
运行结果分别是(注:上面代码必须单独运行,才能得到下面的结果,否则只会显示最后一个)
> fruits[3] # 提取第三个
[1] "Carambola"
> fruits[c(2,5,7)] # 提取第2、5、7个
[1] "Banana" "Haw" "Papaya"
> fruits[-c(2,5,7)] # 提取除了第2、5、7个的元素
[1] "Apple" "Carambola" "Durian" "Lemon" "Persimmon"
[6] "Strawberry"
fruits[c(2,5,7)] <- c("ON", "UP", "DOWN") # 第2,5,7个重新赋值
[1] "Apple" "ON" "Carambola" "Durian" "UP"
[6] "Lemon" "DOWN" "Persimmon" "Strawberry"
> fruits[c(2:6)] # 提取第2,3,4,5,6个,包含第2个
[1] "Banana" "Carambola" "Durian" "Haw" "Lemon"
> fruits[2:6] # 提取第2,3,4,5,6个
[1] "Banana" "Carambola" "Durian" "Haw" "Lemon"
2.3 生成器
2.3.1 元素重复
重复某个元素,基本格式如下:
(以下代码,上面是输入,下方为输出结果)
> rep(2, 3) # 把2重复3次;或rep(2, times = 3)
[1] 2 2 2
在此基础上,可以延展很多变体:
> rep(c(1,2,3,4), 4) # 把1,2,3,4重复4次
[1] 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
> rep(c(1:10), 2) # 1-10重复10次
[1] 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
> rep(c(1, 2, 3), each = 3) # 把1, 2,3各重复4遍
[1] 1 1 1 2 2 2 3 3 3
> rep(c(1, 2, 3), c(3, 2, 0)) # 把1, 2, 3分别重复3, 2, 0遍
[1] 1 1 1 2 2
rep(8:15, rep(1:5, rep(1:2, 2:3))) # 把8(含)-15(含)分别重复1、2、3、3、4、4、5、5遍。注意每个元素与重复次数要对应,如8-15有8个元素,rep(1:5, rep(1:2, 2:3))也必须是8个原色
[1] 8 9 9 10 10 10 11 11 11 12 12 12 12 13 13 13 13 14 14 14 14 14 15 15 15
[26] 15 15
2.3.2 等差数列
> seq(0, 15, 2) # 其实是`seq(from = 0, to = 15, by = 2)`的简写,表示0-15中,等差序列为2
[1] 0 2 4 6 8 10 12 14
> seq(0, 20, length.out = 11) # 其实是`seq(from = 0, to = 20, length.out = 10`的简写。表示0-20中,按等差分成10个元素
[1] 0 2 4 6 8 10 12 14 16 18 20
2.3.3 随机数
常见的随机数用runif(n, min, max)
ÿ
今天的文章R 学习手册分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/66300.html