数组是一个可以在两个以上的维度存储数据的R数据对象。例如 - 如果创建尺寸(2,3,4)的数组,那么创建4个矩形矩阵每2行3列。数组只能存储数据类型。使用 array()函数创建数组。它需要向量作为输入,并使用 dim 参数的值,以创建一个数组。
示例:
我们可以通过使用dimnames参数给予名称添加到数组中的行,列和矩阵。
# Create two vectors of different lengths.
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
column.names <- c("COL1","COL2","COL3")
row.names <- c("ROW1","ROW2","ROW3")
matrix.names <- c("Matrix1","Matrix2")
# Take these vectors as input to the array.
result <- array(c(vector1,vector2),dim=c(3,3,2),dimnames = list(column.names,row.names,matrix.names))
print(result)
当我们上面的代码执行时,它产生以下结果:
1. , , Matrix1
ROW1 ROW2 ROW3
COL15 10 13
COL29 11 14
COL33 12 15
2. , , Matrix2
ROW1 ROW2 ROW3
COL15 10 13
COL29 11 14
COL33 12 15
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