楼主: 2018-8-17
2599 3

[问答] 如何删除数据框中100个以上数值为0的行 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

本科生

62%

还不是VIP/贵宾

-

威望
0
论坛币
78 个
通用积分
36.1816
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
926 点
帖子
62
精华
0
在线时间
65 小时
注册时间
2018-7-9
最后登录
2025-3-6

楼主
2018-8-17 发表于 2019-12-1 20:56:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
最近处理基因组数据,数据框data行为基因名称,列为样本名称(400个样本),
由于数值中存在不少的0值,需要处理:如果某个基因在100个以上样本中表达值为0,则删除该基因即该行。
如果删除全部为0的行或者删除数值含有0的还能搞定,加了限定0的数量就搞不定了。
敬请大神们指点,谢谢啦!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据框 Data 基因组

回帖推荐

conbrownkkk 发表于2楼  查看完整内容

rownum = NULL for(i in 1:nrow(data)) { num = sum(data == 0) if(num > 100) { rownum = c(rownum, i) } } rownum是你要的行数的index

megapanda 发表于3楼  查看完整内容

data = data[rowSums(data == 0)

沙发
conbrownkkk 发表于 2019-12-1 21:28:41
rownum = NULL
for(i in 1:nrow(data))
{
        num = sum(data[i,] == 0)
        if(num > 100)
        {
                rownum = c(rownum, i)
        }
}

rownum是你要的行数的index
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
megapanda 发表于 2019-12-2 02:36:59
data = data[rowSums(data == 0) <= 100,]
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

板凳
2018-8-17 发表于 2019-12-2 15:40:46
谢谢两位大神,可以解决了

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-19 12:45