R语言笔记随查随用(随学随更)

注:笔记均来自学习视频:阿雷边学边教
个人只为学习而整理,侵删致歉,如果有错误请留言,谢谢



1.数据结构

R语言有5种数据结构:

  1. 向量 vetor
  2. 矩阵 matrix
  3. 数组 array
  4. 数据框 detaframe
  5. 列表 list

本文不做过多详解,请参考:其他小伙伴整理

2.常规操作

排序

  • 内置包:order()
    例:mtcar[order(mtcars$mpg)]
  • dplr包中的arrange()函数
    例:arrange(mtcars,mpg)

筛选

  • 内置包:subset(matcars,筛选条件,返回列数或列名)
  • dplye包中的filter()函数:filter(matcars,筛选条件)

重命名

  • 给数据框重命名
    (1)内置包:names()
    例:names(dataframe[index]<-newnames)
    index为需要重命名的列名所在列
    names()函数使用后修改源数据
    (2)reshape包中的rename函数
    rename(dataframe,c(oldame=“newname”))
    rename()函数使用后不修改源数据

组合数据

针对向量

paste():拼接函数,将两个向量中的每个数据用sep中的符号隔开后合并。
paste(v1,v2,sep=“ * ”)
R语言小白笔记

  • 针对数据框

rbind(df1,df2):数据框行合并
cbind(df1,df2):数据框列合并

  • merge():按共有的变量进行合并

类似Excel里的VLOOKUP功能

假如现在有两个数据表,ex1和ex2,很显然他们有公共部分,如果想将ex1和ex2中公共的某一属性的所有数据合并,可以用到merge函数

R语言小白笔记
ex1表格

R语言小白笔记
ex2表格
R语言小白笔记
基本用法:

  • 如果变量名称相同时:
    merge(df1,df2,by=“公共变量名称”)

  • 如果变量名称不同时:
    merge(df1,df2,by.x=“df1的变量名”,by.y=“df2的变量名”)

以上无论是重命名(使其拥有公共的列名)还是保证原有的列名,运行结果皆为:
R语言小白笔记
可看到,ex1和ex2中通过id索引将共有的id数据全部组合到了一起。
如果想要在保留某一列表所有数据的前提下合并另一列表的公共变量的其他数据:
merge(df1,df2,by=" * “,all.x=TRUE)

merge(df1,df2,by=” * ",all.y=TRUE)
R语言小白笔记

3. apply家族的函数

apply相关函数的操作对象: 矩阵(二维)的或者数组(多维)的各个维度
语法:

相关文章: