小编Shi*_*hiv的帖子

根据组(按行)data.frame的条件替换每列中的值

我有一个data.frame,dim = 400行和15000列.我想应用一个条件,对于属于每个组的行,由df$Group我来定义,我必须检查该组是否具有超过50%的行的值.如果是,则保留现有值,否则全部替换0.

例如,对于组a df[1:6,1], 则将替换if sum(df[1:6,1] == 0)/length(df[1:6,1]) >50%所有值.否则现有值将保留.df[1:6,1]0

样本输入:

df <- read.table(text= "DATA  r1    r2  r3  Group
a1  6835    256 0   a
a2  5395    0   67  a
a3  7746    0   30  a
a4  7496    556 50  a
a5  5780    255 0   a
a6  6060    603 0   a
b1  0   0   0   b
b2  0   258 0   b
b3  0   0   0   b
b4  0   0   0   b
b5  5099 …
Run Code Online (Sandbox Code Playgroud)

r dataframe data.table

1
推荐指数
1
解决办法
2184
查看次数

标签 统计

data.table ×1

dataframe ×1

r ×1