是否有R函数来计算行中大于0的值

时间:2019-07-10 06:49:59

标签: r

是否存在R函数来连续计算大于0的值

  test <- data.frame(a=c(a,"y"),b=c(0,"5"),c=c(2,"0"))
  test
  a b c
1 1 0 2
2 y 5 0

我需要跟踪,因为第一行包含1个大于0的值,第二行包含1个大于0的值。我需要排除第一列,因为它只是字符

test
  a b c d
1 a 0 2 1
2 y 5 0 1

1 个答案:

答案 0 :(得分:0)

我们可以将type的列转换为type.convert,选择数字列,检查其是否大于0,获取逻辑矩阵的逐行求和,并在“测试”数据集

library(tidyverse)
library(magrittr)
type.convert(test, as.is = TRUE) %>%
    select_if(is.numeric) %>%
    is_greater_than(0) %>% 
    rowSums %>%
    bind_cols(test, d = .)
#  a b c d
#1 a 0 2 1
#2 y 5 0 1