今天就是第6天了,至少有点感觉了,加油吧!
1.设置下载镜像源file edit (~/.Rprofile)
--options(repos=c(CRAN="网址,一般是清华镜像源"))
--options(BioC_mirror="网址,一般是华中科技大镜像源")
--保存后使用代码options$repos
和options$BioC_mirror
检验是否设置成功。
2.下载包--如果下载的包来自CRAN,则install.packages("包")
,如果来自BioC_mirror,则使用BiocManager::install(“包”)
。
3.加载包require(包)
或library(包)
。
4.dplyr五个基础函数
- 新增列
mutate(new,S1*S2)
新增一列,新列名为new,新建这列各数据是将向量S1和S2乘积作为元素。 - select函数筛选列
按列筛选
select(test,1)
是指列出变量test中第1列的数据;
select(test,c(1,5))
是指列出变量test中第1列和第5列的数据;
select(test,tang)
或者select(test,tang,tao)
是指列出变量test中列名为tang或者tang tao的数据;
此外还可以用one_of函数,简单介绍一下:one_of()是用来声明选择对象的。比如one_of("x","y")就是表明选择x,y变量,那么应用到select函数可以这样用
TT <- c("Petal.Length", "Petal.Width") select(test, one_of(TT))
即先将你要选择的列数赋值为变量TT,应用one_of函数就可; - filter函数筛选行
filter(bcd, Species == "setosa")
注意这里是双等号,是指列出变量bcd中物种种类为setosa的数据;
filter(bcd, Species == "setosa"&Sepal.Length > 5 )
是指列出bcd变量中列出物种种类为setosa且同时满足Sepal.Length 这个向量> 5 的元素;注意&其实就是和的意思,即同时满足;
filter(bcd, Species %in% c("setosa","versicolor"))
这些函数可以套娃再套娃,还记得%in%函数的应用嘛,如A %in% B,即选择从属于B的元素A;
- arrange函数(按某1列或某几列对整个表格进行排序)
arrange(test, Sepal.Length)
即将变量test按Sepal.Length这列从小到大排序列出;arrange(test, dsc(Sepal.Length))
变量test按Sepal.Length这列从大到小排序列出;
- summarise总结函数
summarise总结函数可以对数据集实现"归纳"、"总结"。summarise函数往往对分组数据使用,对每个分组数据进行归纳,如最大值、最小值、均值、中位数等等 。
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
意即先按将变量test按Species特点分组,然后按分组的不同计算其平均值和方差。
- 其他
1.管道函数 管道函数是一种传递函数,就像一个球从管道口进入可以一路走过管道从管道口出来;
test%>%group_by(Species)%>%summarise(mean(Sepal.Length),sd(Sepal.Length))
意思是test变量中的数据要分组,分组依据是Species的不同,分好组后的变量还要进行平均值与方差的计算;
2.count函数。COUNT 函数获取区域中或一组数字中的数字字段中条目的个数count(test,Species)
意思根据Species这列计数不同的行数;
3.inner_join(test1, test2, by = "x")
test1与test2取交集;
left_join(test1, test2, by = 'x')
full_join( test1, test2, by = 'x')
semi_join(x = test1, y = test2, by = 'x')
半连接:返回能够与y表匹配的x表所有记录semi_join(?有点绕,不是很懂)
anti_join(x = test2, y = test1, by = 'x')
返回无法与y表匹配的x表的所记录anti_join(这个也不是很懂)
bind_rows(test1, test2)
注意bind_rows函数要求test1与test2列数相同;
bind_cols(test1, test3)
注意bind_cols函数要求test1与test2行数相同。
注:
文中代码引用自生信星球,在此感谢