gpt4 book ai didi

r - 计算R中行中的非零条目

转载 作者:行者123 更新时间:2023-12-03 21:22:23 24 4
gpt4 key购买 nike

我有以下类型的数据:

   mode1 mode2 mode3
1 8 1 0
2 0 0 0
3 6 5 4
4 1 2 3
5 1 1 1

数据使用 dput :
structure(list(mode1 = c(8L, 0L, 6L, 1L, 1L), mode2 = c(1L, 0L, 
5L, 2L, 1L), mode3 = c(0L, 0L, 4L, 3L, 1L)), class = "data.frame", row.names
= c(NA,-5L))

我需要计算 R 中非零条目的数量。我面临的问题是:所有列都在 factor 中所以如果我转换为 numeric然后更改数据值。

预期输出:
   mode1 mode2 mode3 Count
1 8 1 0 2
2 0 0 0 0
3 6 5 4 3
4 1 2 3 3
5 1 1 1 3

基本上, count是一个新列,它按行计算非零值的数量。我试过 length(xml_df[1,]!=0)但无法找到答案。

最佳答案

在基础 R

df$count <- rowSums(df!=0)
mode1 mode2 mode3 count
1 8 1 0 2
2 0 0 0 0
3 6 5 4 3
4 1 2 3 3
5 1 1 1 3

使用 dplyr
library(dplyr)
df %>% mutate(count=rowSums(.!=0))
#For specific columns we can use
df %>% mutate(count=rowSums(.[1:3]!=0))
#OR
df %>% mutate(count=rowSums(select(.,starts_with("mode"))!=0))

关于r - 计算R中行中的非零条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52331610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com