目标:A是一个表,B是另一个表,求A-B,也就是A有B没有的数据
这里的A表为data,B表为all,根据uid字段求差集,输出的差集为c表
1、集合
了解更多: 百度百科
2、集合的基本运算
3、集合的性质
基本性质和德摩根定律:
注:符合转换,+ 表示并集, 乘号或省略表示交集,-表示差集
了解更多: 知乎
以下R语言中有关集合运算的主要函数:
开始一个新的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编号和图片类型及后缀,这样不同数据的分析得到的图片名就跟数据相一致。
通过将变量因子化来设置柱条的顺序