R语言-数据框

Python018

R语言-数据框,第1张

数据框名称=data.frame(列名1=数据,列名2=数据,....)

read.table(“文件名”,sep=“分割符号”,header=T第一行做列名rownames=1第一列为行名)

注意:csv分隔符为,txt分隔符为\t

write.table("文件名",数据框,sep=“分隔符”,row.names=TRUE, col.names=NA)

解释:将b数据框导出为BMI.txt或BMI.csv

注意:最后row.names=TRUE, col.names=NA是为了输出数据框不错位

数据框$列名

解释提取test数据框中的height一列数据

解释:根据gender进行分组,检验组间height,数据来自数据框test

开始一个新的R语言数据分析新项目,管理脚本、图片、文件的推荐方式:打开Rstudio,新建Rproject,新建脚本(脚本存放在生成的Rproject文件夹中)。

若要逆着优先顺序操作,将返回NA

x %in%y是判断x中的每一个元素是否在y中存在。

若x和y长度不一致,返回x个TRUE或者FALSE。

⚠️练习:按如下方式生成test数据框,提取test中,最后一列值为a或c的行,组成一个新的数据框,赋值给test2。

这里如果使用==来判断,就相当于拿test$n的15个值与c('a','c')的2个值来一一对应着比对,因为两者长度不同,会发生循环补齐,其效果如下图,明显不是我们想要的结果。

x%in%y:选出x是y中一个值时的所有行

另:取交集、差集、并集的函数为:intersect(x,y)、union(x,y)、setdiff(x,y)、setdiff(y,x)

match函数的用法参考: https://blog.csdn.net/woodcorpse/article/details/84927296

使用match函数修改矩阵的信息

方法1--设置CRAN镜像:打开R studio,点击tools--global option--packages,选择Package CRAN reposotory。

方法2--设置CRAN和bioconductor镜像

用于读取/导出文件的R包

rio可以不用区分读入文件类型,大部分文件可直接用import()读取。

@ 是R中,S4类的一个操作符, 用于提取S4对象中的内容(slot) ,比如:

这个时候$是不起作用的,因为被S4类重写了。可以自己定义$的行为。

⚠️: matrix不能直接用$取列

⚠️因此如果想取数据框中的部分行,在方括号中直接输入行数即可,返回的仍然是数据框。但如果加了逗号,会丧失数据框的格式,也就是会使数据框的行名(往往是基因名)丢失。

后面存图时可以用paste0连接GSE编号和图片类型及后缀,这样不同数据的分析得到的图片名就跟数据相一致。

通过将变量因子化来设置柱条的顺序

数据准备

R函数的诸多有趣特性之一,就是它们可以应用到一系列的数据对象上,包括标量、向量、矩阵、数组和数据框。

R中提供了一个apply()函数,可将一个任意函数“应用”到矩阵、数组、数据框的任何维度上。

apply(x, MARGIN, FUN, ..., simplify = TRUE)

其中,x为数据对象,可以是数组、矩阵、数据框,数据至少是二维的,MARGIN是维度的下标,MARGIN=1表示行,MARGIN=2表示列。FUN是自定义调用的函数,可为任意R函数,而...则包括了任何想传递给FUN的参数。

apply函数只能用于处理矩阵类型的数据,也就是说所有的数据必须是同一类型。因此要使用apply函数的话,需要将数据类型转换成矩阵类型。

lapply(x, FUN)

lapply函数将函数应用于输入变量x的每一个元素,返回一个与x长度相同的列表。x可以是列表,向量或数据框。

sapply(x, FUN)

x可以是列表,矩阵或数据框,以向量或矩阵形式输出结果。执行的功能与lapply函数相同。

tapply(X, INDEX, FUN = NULL)

tapply用于数据框类型的数据,可以按因子变量分组计算统计量。X可以是数组、矩阵、数据框等分割型数据向量,INDEX是一个或多个因子的列表,每个因子的长度都与x相同,FUN为自定义的调用函数。 53

参考资料: