先回答昨天的问题
save(X,file="test.RData")这句代码如果报错X not found,是为什么,应该怎么解决?
X可能没有被赋值吧。X被赋值就好了,打的时候把X打成x了,所以没有赋值成功(抱歉抱歉没看到最后)
一、镜像配置
- 1.安装镜像
#options函数就是设置R运行过程中的一些选项设置
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源
#当然可以换成其他地区的镜像
- 2.安装R包
install.packages(“包”)或者BiocManager::install(“包”)
看哪一个能够收到
加载
library(包) require(包)
二、dplyr函数的操作
- 1.
test <- iris[c(1:2,51:52,101:102),]
给test赋值iris包的1、2、51、52、101、102行的数据 -
2.mutate()添加新变量并保留现有变量; transmute()添加新变量,并删除现有变量。
mutate(.data, 列名=数据)
-
3.select(),按列筛选
select(data,筛选内容),可以按列名,按列数
- 4.filter()筛选行
filter(data,筛选内容),可以按行名,按行数,还可以筛选特殊字符
filter(test, Species %in% c("setosa","versicolor"))
在test中选择存在"setosa","versicolor"的行
filter(test, Species == "setosa"&Sepal.Length > 5 )
在test中选择是setosa的,并Sepal.Length > 5 的行 - 5.arrange(),按某1列或某几列对整个表格进行排序
arrange(test, Petal.Length)#默认从小到大排序
arrange(test, desc(Petal.Length))#用desc从大到小 -
6.summarise():汇总
group_by(test, Species)先按照Species分组
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
jisuan计算每组Sepal.Length的平均值和标准差
- 7.管道操作 %>% (cmd/ctr + shift + M)
test %>%
group_by(Species) %>%
summarise(mean(Sepal.Length), sd(Sepal.Length))
一级一级跟上去串通
-
count统计某列的各个元素的个数
三、dplyr处理关系数据
options(stringsAsFactors = F),stringsAsFactors = F不会把字符当作元素,只把我们告诉的当元素,自动识别的不是元素。frame()函数创建数据集合。
- 1.inner join是内关联,没有主表附表的概念;两个表中,同时符合关联条件的数据才会显示出来。
inner_join(test1, test2, by = "x")
取值以test1和test2中X列中相等的数为准,y、z列的取值和x列的取值要在一行上面 -
2.left join是做左外关联,主表内容都会显示;符合关联条件的附表内容才会显示出来。
左表为主表,筛选右表中和左表一样的显示出来,以X列为准,其他的要行数位置一样
- 3全连full_join
全部都显示,重复部分不显示 - 4.半连接:只保留x中能与y匹配的记录
semi_join(x,y)
- 5.反连接:是丢掉x中与y匹配的记录。
anti_join(x,y)
- 6.简单合并
bind_rows()函数需要两个表格列数相同,而bind_cols()函数则需要两个数据框有相同的行数