R语言入门

您所在的位置:网站首页 rep函数R语言 R语言入门

R语言入门

2024-01-14 15:44| 来源: 网络整理| 查看: 265

R语言函数入门50个基本函数 0引言1、入门准备操作及函数1.1R版本介绍以及IDE的选择1.2IDE及其常用的快捷键 2、空间操作以及纠错函数2.1 ? 、??、help、demo、example2.2 ls()2.3 getwd()、setwd()2.4 其他函数2.5大量数据空间管理 3、常用数据结构的创建3.1向量的创建c、scan、rep、seq、:3.2矩阵的创建matrix、as.matrix,diag、data.matrix、cbind、rbind、t3.3 数据框的创建data.frame、as.data.frame3.4列表list、unlist3.5因子型factor、as.factor3.6数据的查看summary、str、dim、length、nrow、ncol、names、rownames、colnames、class3.7小结论 4、运算符和赋值函数4.1逻辑匹配 %in% match4.2赋值 = head(ls("package:ggplot2"),20) [1] "%+%" "%+replace%" "aes" [4] "aes_" "aes_all" "aes_auto" [7] "aes_q" "aes_string" "after_scale" [10] "after_stat" "alpha" "annotate" [13] "annotation_custom" "annotation_logticks" "annotation_map" [16] "annotation_raster" "arrow" "as_label" [19] "as_labeller" "autolayer"

ggplot2包里目前有500多个函数,由于篇幅原因使用head函数只展示前20个函数。

2.3 getwd()、setwd()

这是两个可以查看和改变路径的函数。但是我一般不适用这两个函数管理路径,会使用空的.RData文件和相对路径去设置路径。

2.4 其他函数

– source:载入自编函数和包 – install.packages:安装大部分的cran包,别忘记选择一个离自己进的路径就行。一般只安装一次、以后使用只需要载入。 – library:载入已经安装的包,每次的重启代码都需要载入、 – require:判断包是否加载,否就是直接加载。并返回T,若不存在则返回F。 – rm:移除空间已经有的变量。 – # :代码注释

2.5大量数据空间管理

如果有需要大量的数据需要加载,可以参考下面的博客:2021美赛准备——内存管理(R语言)。

3、常用数据结构的创建

有了上述的只是想要进行运算需要会创建一些基本的数据。

3.1向量的创建c、scan、rep、seq、:

函数c、scan、rep、seq、:是常用的创建变量的函数。下面给出例子:

> x1 x1 [1] 15 6 265 6 > x2 x2 # 上一行的空行不能删掉 [1] 5 5 54 8 456456 > x3 x3 [1] 1 2 3 1 2 3 > x4 x4 [1] 0 2 4 6 8 10 3.2矩阵的创建matrix、as.matrix,diag、data.matrix、cbind、rbind、t > A A [,1] [,2] [,3] [,4] [,5] [1,] NA NA NA NA NA [2,] NA NA NA NA NA [3,] NA NA NA NA NA [4,] NA NA NA NA NA [5,] NA NA NA NA NA > B B [,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5 > C C [,1] [1,] 1 [2,] 2 [3,] 3 [4,] 4 [5,] 5 > D D [,1] [,2] [,3] [,4] [,5] [1,] 1 2 3 4 5 > E E x y [1,] 1 6 [2,] 2 7 [3,] 3 8 [4,] 4 9 [5,] 5 10 > diag(rep(1, 5)) # 对角矩阵 [,1] [,2] [,3] [,4] [,5] [1,] 1 0 0 0 0 [2,] 0 1 0 0 0 [3,] 0 0 1 0 0 [4,] 0 0 0 1 0 [5,] 0 0 0 0 1 > data.matrix(data.frame(x = 1:5, y = 6:10)) x y [1,] 1 6 [2,] 2 7 [3,] 3 8 [4,] 4 9 [5,] 5 10 3.3 数据框的创建data.frame、as.data.frame

数据框和矩阵不同的是,数据框每列元素是一个变量可是字符型也可以是数值型也可是逻辑型等。是以中建模时候经常使用的数据类型。我日常中经常使用的数据结构是data.table包里的data.table数据类型,他本身带有数据框的特性,但是兼容很多数据变形数据和并等数据科学的操作,是一个比较方便的数据类型。

> data.frame(x = 1:5, + y = paste0("z", 1:5), + z = (1:5) > 3 + ) x y z 1 1 z1 FALSE 2 2 z2 FALSE 3 3 z3 FALSE 4 4 z4 TRUE 5 5 z5 TRUE 3.4列表list、unlist

列表可用用来储存任何的数据类型,甚至是列表自己。下面展示给出实例:

> list( + x = data.frame(x = 1:5), + y = matrix(NA, 3, 3), + z = c(1:5), + d = factor(6:9), + r = list(x = 5, y = 6) + ) $x x 1 1 2 2 3 3 4 4 5 5 $y [,1] [,2] [,3] [1,] NA NA NA [2,] NA NA NA [3,] NA NA NA $z [1] 1 2 3 4 5 $d [1] 6 7 8 9 Levels: 6 7 8 9 $r $r$x [1] 5 $r$y [1] 6 3.5因子型factor、as.factor

在使用分类变量的时候会使用因子数据。创建方式也是比较简单的:

> factor(1:10) [1] 1 2 3 4 5 6 7 8 9 10 Levels: 1 2 3 4 5 6 7 8 9 10 > as.factor(rep(1:3, 5)) [1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 Levels: 1 2 3 > 3.6数据的查看summary、str、dim、length、nrow、ncol、names、rownames、colnames、class > (A (B class(A);class(B) [1] "matrix" [1] "data.frame" > str(A); str(B) logi [1:5, 1:5] NA NA NA NA NA NA ... 'data.frame': 5 obs. of 2 variables: $ x: int 1 2 3 4 5 $ y: int 6 7 8 9 10 > names(A); rownames(A); colnames(A) NULL NULL NULL > names(B); rownames(B); colnames(B) [1] "x" "y" [1] "1" "2" "3" "4" "5" [1] "x" "y" > dim(A);dim(B) [1] 5 5 [1] 5 2 > length(A) [1] 25 > summary(A) V1 V2 V3 V4 V5 Mode:logical Mode:logical Mode:logical Mode:logical Mode:logical NA's:5 NA's:5 NA's:5 NA's:5 NA's:5 > summary(B) x y Min. :1 Min. : 6 1st Qu.:2 1st Qu.: 7 Median :3 Median : 8 Mean :3 Mean : 8 3rd Qu.:4 3rd Qu.: 9 Max. :5 Max. :10 3.7小结论

以上每一个函数都是比较常用的函数,功能都很多,这里只是起到了抛砖引玉的作用,其他更有用的技能还是等着读者自己探索。

4、运算符和赋值函数

有了基本的数据类型,下面就可以对内部数据进行运算了。

4.1逻辑匹配 %in% match

这是一个逻辑运算符,可以判断两个对象值之前的单个元素是否属于另一个,返回逻辑值。

> 1:3 %in% 3:10 [1] FALSE FALSE TRUE > match(c(1, "TRUE"), c(T, 0, "1")) [1] 3 1 > match(1:3, 3:10) [1] NA NA 1 4.2赋值 = + for(i in 1:n){ + cat("正在处理第", i,"次 ... ...", "\n") + } + return() + } > myfun(5) 正在处理第 1 次 ... ... 正在处理第 2 次 ... ... 正在处理第 3 次 ... ... 正在处理第 4 次 ... ... 正在处理第 5 次 ... ... NULL 6、总结

最后希望可以帮助大家学习R语言。水平有限发现错误还望及时评论区指正,您的意见和批评是我不断前进的动力。当然如果有更好的改进方案欢迎评论区交流。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3