我是R的初学者。请帮我编写下面的函数编码。谢谢!
创建一个名为CountNonpositives的函数,该函数将数值数据帧作为其唯一的输入参数。对于输入数据帧的每一列,此函数应返回一行数据帧。此输出数据框应该有两列,一列给出输入数据帧的每一列的名称,另一列给出该变量的非正数的观察数。
注意:缺失值(如果有)必须包含在非正数中。
答案 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