数据框
首先我们要把表格读进来
小tip
以 Rproject 管理R的项目,把要处理分析的数据复制到Rproj所在的文件夹。
通过getwd()可以知道当前所在文件夹
读取数据
read.csv()读取csv为后缀的文件, sep = ','

sep=','

csv文件,sep='\t'

csv文件,sep=' '
read.table()读取txt为后缀的文件,sep=''

默认的sep=' '
read.delim()读取的文件,sep='\t'

用默认读空格分隔的txt文件,乱码

指定sep=' ' 就好了
数据框属性
dim()看维度,有多少行,多少列,先行后列。

dim()维度,4行3列

数据框属性
数据框取子集
点开右上角的框框,看数据框,可以看到后点Tab。

用$符号取列
按坐标取值
一个数据框有行和列,和坐标系一样,通过行和列可以确定数据框里面的值。

数据框取值用中括号[ ]
按名字取值

按名字取值,也是用中括号[ ]
按条件(逻辑值)

逻辑取值,对列筛选行

这里不太理解

代码思维的形成

代码思维
修改数据框

要用到赋值的符号 <-
数据框内的值可以改变,行名和列名也可以改变。
rownames()改行名colnames()改列名
修改行名和列名
数据框的连接
merge()
数据框test1 test2,共同有的列叫name,

test1

test2
然后merge函数
merge(test1,test2,by= 'name')
这样得到的结果是只保留共同有的,并且name列的顺序按升序排列。

两个数据框的顺序问题
如果要合并的两个数据框列名不同怎么办?

test3
那就分别指定第一个数据框的列和第二个数据框的列,以这两列的内容为准进行合并。
merge(test1,test3,by.x = name,by.y = NAME)
矩阵
创建矩阵matrix()
矩阵只能有数字,没有行名和列名的时候,默认会给中括号加数字

创建矩阵
可以用赋值的方式给矩阵加上列名。

加列名
也可以用rownames()改行名
矩阵取值

矩阵取值

矩阵转置
as.data.frame()as.matrix()
矩阵转为数据框

元素的名字

向量也可以转为数据框,一个向量默认是转为一列
创建数据框

创建数据框

还得是=

names()
列表
列表就像一个垃圾桶,什么都能装
创建列表list()

列表

列表
删除
rm()把要删的内容或者变量放进去就行,放多少都行,用逗号分隔
rm(list = ls())清空右上角所有的内容,和右上角的小扫帚一样的功能。