注意事项:数据分析每一步都要有检查,代码不报错,不代表真的没错,需要检查目的是否达到
数据框data.frame-**二维,与表格类似,每列是向量,只允许一种数据类型
新建
用代码新建
df1 <- data.frame(列名 =向量(列的内容), 列名 =向量(列的内容))
###由已有数据转换或处理得到
读取表格文件
df2 <- read.csv("gene.csv")
R语言内置数据
属性
dim(df1)#维度
nrow(df1)#行数
ncol(df1)#列数
rownames(df1)#行名
colnames(df1)#列名
取子集:
取列: $
按坐标: [] #2,2取第二行第二列
按名字,c('gene','change') 取多列/行
修改
一个格-取出后赋值df13,3 <- 5
一整列 df1$score <- c(12,23,50,2)
新增一列-$接原来表格中不存在的列。df1$p.value <- c(0.01,0.02,0.07,0.05)
改行和列名--赋值
全部:rownames(df1) <- c("r1","r2","r3","r4")
一个-取出后赋值:colnames(df1)2 <- "CHANGE"
两个数据框的连接/合集-merge
merge(test1,test2,by="共同列的列名")
merge(test1,test3,by.x = "name",by.y = "NAME")# name为test1需要合并的列的列名
矩阵matrix -**二维,只允许一种数据类型
新建 <- matrix()
取子集-[]
转置-t()
转换为数据框: as.data.frame()
画热图pheatmap::pheatmap()
列表list:可装万物
新建 <- list(m1 = , m2=)
取子集[[]]、$
补充:元素的“名字”-names()
难点:数据框按逻辑值取子集
删除变量:
一个rm(x)
多个rm(df1,m)
全部rm(list = ls())
清空控制台 快捷键ctrl l
函数与参数
括号前为函数,形式参数为作者设置,可省略,实际参数自己设置。
写函数的函 function