R语言同时输出几列数据的和

Python011

R语言同时输出几列数据的和,第1张

两列

有时数据需要比向量更复杂的存储方式。幸运的是,R软件提供了很多的数据结构。常见的有数据框(data.frame)、矩阵(matrix)、列表(list)以及数组(array)。数据框类似于电子表格,矩阵类似于人们熟悉的矩阵数学计算,列表对于程序员比较熟悉。

1.创建数据框

a <- data.frame("geneid1"=rep("TabHLH1",3),"geneid2"=c("TabHLH2.1","TabHLH2.2","TabHLH2.3"),"geneid3"=rep("TabHLH3",3))

结果如下:

 geneid1   geneid2 geneid3

1 TabHLH1 TabHLH2.1 TabHLH3

2 TabHLH1 TabHLH2.2 TabHLH3

3 TabHLH1 TabHLH2.3 TabHLH3

加载函数

library(dplyr)

library(tidyr)

将第二列以“.”分列

b <- a %>% separate(geneid2, c("gene","id"), "[.]")

结果如下

  geneid1     gene        id   geneid3

1 TabHLH1  TabHLH2  1  TabHLH3

2 TabHLH1  TabHLH2  2  TabHLH3

3 TabHLH1  TabHLH2  3  TabHLH3

R语言使用技巧

当你要对按照数据框某一列的信息对文件进行分组时

1. 可以使用split函数

2. 可以使用group_by() 函数,但是这个函数不能方便你接下来对每个小的group进行更为复杂的操作。

3. group_split() 函数

4. group_nest() 函数以及nest()函数

具体参数可参考:

https://www.jianshu.com/p/2efbf6632dc6

group_list()可以把大的数据框按照某一列切分为小的数据框,这些小的数据框再组成一个list

参考: https://mp.weixin.qq.com/s/XGb3P6SY2UlZMgun_etFmg

nest()函数可以创建嵌套数据框,将多列多行组成一个列表,而这个列表单独成为一列,称为列表列。

nest() 函数有两种使用方式。当用于分组数据框时,nest() 函数会保留用于分组的列,而将其他所有数据归并到列表列中。

还可以在未分组数据框上使用nest(),此时需要指定嵌套哪些列。

使用这些函数时,要清楚输入输出的格式是什么,怎么样取值才能得到想要的格式,是使用appply还是lapply,以及map要根据实际情况来定。