R函数 - 计数非正数

时间:2013-11-28 05:48:15

标签: r

我是R的初学者。请帮我编写下面的函数编码。谢谢!

创建一个名为CountNonpositives的函数,该函数将数值数据帧作为其唯一的输入参数。对于输入数据帧的每一列,此函数应返回一行数据帧。此输出数据框应该有两列,一列给出输入数据帧的每一列的名称,另一列给出该变量的非正数的观察数。

注意:缺失值(如果有)必须包含在非正数中。

1 个答案:

答案 0 :(得分:0)

sapply正在为你做伎俩。我相信,您可以将其封装到您的具体功能中。

d <- data.frame(
  x = c(sample(-10:10, 10, replace = TRUE),NA),
  y = c(sample(-10:10, 10, replace = TRUE),NA),
  z = c(sample(-10:10, 10, replace = TRUE),NA)
  )

sapply(d, function(x) sum(x<0 & !is.na(x)) )

预览 -

   > d
         x  y  z
    1    5 10  2
    2    9 -2 -2
    3   -9 10 -2
    4   -1  0  0
    5    2 -9  7
    6   -5  7 -3
    7    1 -7 10
    8  -10  5 -8
    9    8  6 -9
    10  -8 10 -4
    11  NA NA NA
    > sapply(d, function(x) sum(x<0 & !is.na(x)) )
    x y z 
    5 3 6