数据帧中的出现次数

问题描述 投票:0回答:2

我有以下数据框,我想按第一列计算每一行的出现次数,并将另一行说“ freq”附加到数据框:

df:

gene    a    b    c
abc     1    Na   1
bca     Na   1    1
cba     1    1    1

我的df较大,因此这只是可扩展的示例。

期望的数据帧是:

gene    a    b    c    freq
abc     1    Na   1     2
bca     Na   1    1     2
cba     1    2    1     3

我尝试过的代码是:

g <- df %>% mutate(numtwos = rowSums(. > 0))

df$freq <- apply(df , 1, function(x) length(which(x>0)))

但是它不起作用,因为如果一行中应该有(例如)150次重复,那么我每行仅获得2次。

欢迎任何帮助或其他观点!

谢谢

r dataframe frequency
2个回答
0
投票

我已经有一段时间没有使用R了,所以我不会粘贴代码,但是您可以创建一个新的df,按基因对初始的d分组,然后在另一行代码中将其合并/联接到您的初始df。


0
投票

我们可以先将Na转换为“ NA”

© www.soinside.com 2019 - 2024. All rights reserved.