1. c是函数,不要给c赋值
    2. Sort(x)等于x[order(x)] ##order还能对数据框排序
    3. x[1,5] Erron 正确的是 x[c(1,5)] 因为”,”是对维度的切割
    4. 没有赋值等于没发生过
    5. 命名的时候不要用c=
    6. aes=映射
    7. Breaks() ##这个函数为了不让离群值破坏图 例如样本以后表达量分别为(1,2,3,4,5,6,7)做热图时,突然出现一个50那么Breaks的作用就是把50(≥7)在图里显示的颜色=7.
    8. fill后面只能跟列名
    9. 取过log的值范围在(1-16),作图时检查数据看是否在(1-16)之间,如果不在就取log,但是有情况是绝大部分在1-16之间,偶尔会有大于16的数据,那么这类数据尽量不要用,或者从原始数据开始分析得到表达矩阵。
    10. 运行代码不出时的解决方法:1. dev.off 2.dev.new 3.重启R
    11. STHDA (http://www.sthda.com/english/) 作图代码集合
    12. 判断数据类型的函数:class(),把要判断的内容写在括号里
    13. 数据类型-1:数值型 (1.3,2);2:字符型 (”a”,”nn”);3:逻辑性:(TURE,FALSE,NA).
    14. tab键自动补全
    15. 逻辑性数据:!= (不等于的意思)3!= 4 TRUE,逻辑运算的连接:与&、或|、非!。 3<5&4>5 FALSE, 3<5|4>5 TRUE,!(4>5)TRUE。
    16. is族函数,判断,返回T或F is.numeric(“a”)-FALSE
    17. as族函数实现数据类型之间转换 as.numeric(“4”)-4
    18. 连续的数字用冒号“:”,有重复用rep(“x”,times=3),#repetition。有规律的序列用seq(from=3,to=21,by=3),#sequence。随机数用rnorm(n=3),#normrnd正态随机发生器,黏合数据用paste0(rep(“x”,times=3),1:3)。
    19. image.png
    20. 赋值的方法 x=c(1,3,11) #随意,x <- c(1,3,11)#规范的赋值符号x <- c(1,3,5,1)。unique(x) #去重复,duplicated(x) #duplicate()确定vector或数据帧中的哪些元素是具有较小下标的元素的副本,并返回一个逻辑向量,指示哪些元素(行)是副本。sort(x) #对x从小到大排序。
    21. x %in% y #判断x的每个元素在y中存在么,paste(x,y,sep=”,”) #把x与y通过逗号“,”连接。
    22. intersect(x,y) 取交集,union(x,y)取并集,setdiff(x,y) 取x在y中没有的集合差,setdiff(y,x),取y在x中没有的集合差。
    23. x == y 有循环补齐功能,输出逻辑值T,F。
    24. [] 向量取子集:先判断[]里面的内容返回T或F,然后把T对应的挑选出来,把F对应的弃掉。x[-4]中-的作用是去掉这个下标的数据。
    25. image.png
    26. 修改向量中的某个/某些元素,[]中选下标你要修改的元素,然后赋值你要的数据。
      x[4] <- 40。
    27. R语言里的修改都要赋值,没有赋值就没有发生过。
    28. mathc:谁在外面,谁就在后面
      1. x <- c("A","B","C","D","E")
      2. y <- c("B","D","E","A","C")
      3. match(y,x)
      4. x[match(y,x)]
      image.png