📅  最后修改于: 2023-12-03 14:51:07.581000             🧑  作者: Mango
在 R 中,我们常常需要通过行名对 DataFrame 和 Matrix 进行子集操作。以下是一些常用的子集操作方法。
假设我们有一个 DataFrame df
,它有以下几个行名:'a', 'b', 'c', 'd'。
df <- data.frame(a=1:4, b=5:8, c=9:12, d=13:16)
row.names(df) <- c('a', 'b', 'c', 'd')
df['a',]
这样会返回一个长度为列数的向量,表示该行的数值值。
df[c('a', 'c'),]
这样会返回多行构成的 DataFrame。
df[df$a == 2 | df$c == 11,]
通过指定符合某些条件的行进行子集选择,这里是选择满足 a 等于 2 或者 c 等于 11 的行。
对于 Matrix,我们可以采用以下方式进行子集的选择。
假设我们有一个 Matrix m
,它有以下几个行名:'a', 'b', 'c', 'd'。
m <- matrix(1:16, ncol=4)
row.names(m) <- c('a', 'b', 'c', 'd')
m['a',]
这样会返回一个长度为列数的向量,表示该行的数值值。
m[c('a', 'c'),]
这样会返回多行构成的 Matrix。
m[m[,1] == 2 | m[,3] == 11,]
通过指定符合某些条件的行进行子集选择,这里是选择满足第一列等于 2 或者第三列等于 11 的行。