如何根据最后一行每列中的值对R中的CSV进行子集?
例如,我读了一个名为mnist.csv的CSV文件,其尺寸为400x600。
columns 1 2 3 4 .......... 600
rows: 1
2
3
4
.
.
.
400 0 0 0 1 1 1 ...3 3 3
我想创建的数据框只包含最后一行中值为0
的列和行,以及另一行中值为1
的另一个数据框
答案 0 :(得分:1)
使用示例数据,而不是4
而不是0
:
mtcars[,mtcars[nrow(mtcars),] == 4L,drop=FALSE]
禁止:
nrow(mtcars)
允许我们为每列的“最后一个”编制索引mtcars[...,]
返回一维矩阵,即每列的最后一个值... == 4L
返回logical
向量,对应于与mtcars[,...,drop=FALSE]
只进行列子集化; drop=FALSE
用于防止在只有一列匹配时将矩阵简化为向量,如mtcars[,mtcars[nrow(mtcars),] == 2L]
中的情况。