只有一列的数据框删除特定行后如何还能保持原有数据框的行列结构

只有一列的数据框在删除某些行后,会自动转换成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

结果如下
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值