只有一列的数据框在删除某些行后,会自动转换成numeric类型,可能只剩一行向量了。如何保持原有的数据框行列名和结构呢?
加一列重复值,一劳永逸
以下展示一个简单的数据框,我们删除尾号为01A的数据。可以看到删除改行后变成了类型为numeric的向量
counts
counts_normal <- counts[-grep("01A", rownames(counts)),]
counts_normal
结果如下
我们可以添加一模一样的一列,再进行操作。问题可能是以后一直要带着这列“repeat”
counts_copy <- counts
counts_copy[,'repeat'] <- counts_copy[,1]
counts_copy
counts_normal <- counts_copy[-grep("01A", rownames(counts)),]
counts_normal
结果如下
转置,删除行,再转置
只有仅一列的数据框会有这样的问题,转置后就不是可怜巴巴的数据框了。注意到转置后的一些问题。
counts_trans <- t(counts)
counts_trans
counts_normal <- as.data.frame(counts_trans[,-3])
colnames(counts_normal) <- c("counts")
counts_normal
结果如下