R语言函数化编程笔记1

时间:2021-01-15 16:33:48

R语言函数化编程笔记1

notes:有一个不错的网站叫做stack overflow,有问题可以从上面找或者搜索答案,会有大佬相助。

在github上面可以找到很多R的扩展包,如果自己额修改被接受,那么就会成为该包的贡献者。。

  1. R的编辑器

    一般会在Rstudio中编写一个脚本文件来执行多行代码,可以编写R脚本,Rmarkdown文档,网页等,或者C++源代码

  2. 常用快捷键

  • ctrl+enter组合键运行选中命令
  • ctrl+shift+S组合键执行当前文档,也就是依次执行当前文档中的所有表达式
  • Tap或者ctrl+space组合键展示匹配当前输入变量和函数的自动补齐列表
  • 单击行数边缘左侧设置一个断点,就是debug,下次执行这行的时候程序会停下来检查

3. 查看帮助文档的方式
在Help帮助窗格里面输入函数名能够直接找到
在console中输入函数名并按F1键
在console中输入“?函数名”并执行它

我感觉,我R语言函数编程这里在数据处理这里老老是出bug,我感觉应该是对于每个函数的数据类型使用不当。

因为每个对象都有其不同的类型和性质

4. 数据类型

4.1 向量

4.1.1 数值向量

4.1.2 逻辑向量

4.1.3 字符向量

4.2 给向量命名

可以通过names()获取向量中函数的名字

names(x)
## "a" "b" "c"

或者通过对向量赋予不同字符向量来更改元素名称

names(x)<-c("x","y","z")

4.2.1 提取向量的元素

[] 能够创建一个向量子集

[[]] 能够提取向量中的元素

4.2.2 识别向量类型

class(变量名)。具体的函数用法可以进行查询

4.2.3 强制类型转化

as.numeric()

as.data.frame()

as.character()

......很多。

4.3 矩阵

创建矩阵的函数:matrix,具体用法可以查询

为行和列命名

rownames(矩阵名)

colnames(矩阵名)

4.3.1 提取矩阵的子集

[] 还是这个框,挺好用的

4.4 数组

记住array函数吧,比较简单

4.5 列表(list)用的比较多

因为不用类型的数据均可存放在一个列表中

可以使用$符号来提取列表中的元素

4.6 数据框

一般平时用到的面板数据可以看成一个数据框(不过这样子说不太专业奥)

persons<-data.frame(
Name=c("ken","ally","jj"),
Gender=c("Male","Female","Female"),
Age=c(24,25,23),
Major=c("finance","art","cs"))
persons
Name Gender Age Major
1 ken Male 24 finance
2 ally Female 25 art
3 jj Female 23 cs

4.6.1 提取数据框子集

同样可以用$符号,或者用[[]]来提取某一位置的

4.6.2 数据框中的实用函数

summary()展示一个汇总表,比较直观

rbind()按行合并,可以向数据框中添加一些行

rbind(persons,data.frame(Name="july",
Gender="Female",
Age=23,
Major="cs")
Name Gender Age Major
1 ken Male 24 finance
2 ally Female 25 art
3 jj Female 23 cs
4 july Female 23 csex

cbind()按列合并,可以向数据框添加一些列

expand.grid()可以生成一个包含所有列值组合的数据框(这个以后看看能不能有妙用)

> expand.grid(type=c("A","B"),class=c("M","L","XL")
+ )
type class
1 A M
2 B M
3 A L
4 B L
5 A XL
6 B XL