我有以下数据框,我想按第一列计算每一行的出现次数,并将另一行说“ 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了,所以我不会粘贴代码,但是您可以创建一个新的df,按基因对初始的d分组,然后在另一行代码中将其合并/联接到您的初始df。
我们可以先将Na
转换为“ NA”