计算R中出现的次数
我正在学习R,我面临一个我不知道如何解决的问题。我有一个类似于以下的输入子集,有一个client_id和7个整数:计算R中出现的次数,r,apply,R,Apply,我正在学习R,我面临一个我不知道如何解决的问题。我有一个类似于以下的输入子集,有一个client_id和7个整数: (client_id, 10, 8, -5, 8, 1, -23, 12) 我想返回相同的向量,但带有额外的字段。首先,一个包含任何其他值为负值的次数。对于上述示例,结果将是: (client_id, 10, 8, -5, 8, 1, -23, 12, 2) 因为7个整数中只有2个负数 第二个字段是0的值数 (client_id, 10, 8, -5, 8, 1, -23, 1
(client_id, 10, 8, -5, 8, 1, -23, 12)
我想返回相同的向量,但带有额外的字段。首先,一个包含任何其他值为负值的次数。对于上述示例,结果将是:
(client_id, 10, 8, -5, 8, 1, -23, 12, 2)
因为7个整数中只有2个负数
第二个字段是0的值数
(client_id, 10, 8, -5, 8, 1, -23, 12, 2, 3)
因为在0和10之间有3个值
有人能帮我解决这个问题吗
非常感谢。如果你的向量是
x
,它将是
x <- c(x, length(which(x[-1]<0)), length(which(x[-1]>=0 & x[-1]<=10)))
x这个怎么样:
> t <- c("client_id", 10, 8, -5, 8, 1, -23, 12) # create vector
> nums <- as.numeric(t[2:length(t)]) # get numbers only from vector
> sum(nums < 0) # Counts the numbers less that 0
[1] 2
> sum(nums > 0 & nums < 10) # counts the number > 0 and < 10
[1] 3
> t <- append(t,sum(nums < 0)) # append to original vector
> t <- append(t,sum(nums > 0 & nums < 10))
> t
[1] "client_id" "10" "8" "-5" "8" "1" "-23" "12" "2" "3"
>
>t nums sum(nums<0)#计算小于0的数字
[1] 2
>求和(nums>0&nums<10)#计算大于0和小于10的数字
[1] 3
>t t 0&nums<10)
>t
[1] 客户识别码“10”“8”“-5”“8”“1”“-23”“12”“2”“3”
>
它应该是sum
而不是length
谢谢:)。如何将这两个操作应用于除第一个字段(Client_ID,它也是一个整数)之外的所有字段?是的,确实如此。逻辑运算符&&
和|
只对标量有效,而不对向量有效,这与它们的等价项&
和|
相反。客户端id
是一个数字吗?
> t <- c("client_id", 10, 8, -5, 8, 1, -23, 12) # create vector
> nums <- as.numeric(t[2:length(t)]) # get numbers only from vector
> sum(nums < 0) # Counts the numbers less that 0
[1] 2
> sum(nums > 0 & nums < 10) # counts the number > 0 and < 10
[1] 3
> t <- append(t,sum(nums < 0)) # append to original vector
> t <- append(t,sum(nums > 0 & nums < 10))
> t
[1] "client_id" "10" "8" "-5" "8" "1" "-23" "12" "2" "3"
>