当我们处理生物大数据时经常遇到一个问题就是数据集拆分问题,根据条件筛选数据,汇总了当下常用的方法,如下:
1)采用行名、列名直接取子集
subdata <- data[c("row1", "row2"), c("col1", "col2")]
优点:方便,容易理解
缺点:对于大型数据集这样操作显的比较繁琐
2)采用行、列索引筛选数据
subdata <- data[c(10:21), c(2,6:7)]
优点:相对于第一种来说就便捷许多了,方便操作
缺点:容易取错数值
3)利用which和%in%操作
subdata <- data[which(data$Type == "type"),names(data) %in% c("A","B","C")]
优点:大型数据集操作更方便
缺点:初学者需要学习掌握
4)利用subset函数
subdata <- subset(data, Type == 2, Group = c("A","B","C"))
优点:大型数据集操作方便
缺点:初学者需要学习掌握
5)利用dplyr包中select和filter函数处理
subdata <- select(filter(data, Type == 2),c("A","B","C"))
优点:大型数据集操作方便,和subset类似
缺点:初学者需要学习掌握
个人推荐一般情况下使用subset,对于较复杂的数据集推荐用dplyr包处理完成。
参考资料:
1.https://www.r-bloggers.com/2016/11/5-ways-to-subset-a-data-frame-in-r/