如何从另一个向量创建一个子向量,该向量包含在 R 编程中为真的所有值
how to make a sub vector from another vector that includes all values that are true in R programming
我是编程新手,遇到了一些问题。我有以下 2 个向量,一个有支出,另一个有 12 个月的收入:
'''
revenue <- c(14574.49, 7606.46, 8611.41, 9175.41, 8058.65, 8105.44, 11496.28, 9766.09, 10305.32, 14379.96, 10713.97, 15433.50)
expenses <- c(12051.82, 5695.07, 12319.20, 12089.72, 8658.57, 840.20, 3285.73, 5821.12, 6976.93, 16618.61, 10054.37, 3803.96)
'''
我必须能够列出收入大于 12 个月平均收入的利润(收入 - 支出)。我好像想不通。
这就是我在下面用来尝试得到这个的东西:
'''
for(i in 1:length(revenue)){
if(revenue > mean.revenue){
good_months <- c(revenue>mean.revenue)
}
}
good_months
'''
问题在于,它只会在那些月份得出 true 或 false。我怎样才能只获得真值?
也许你可以用这个
> which(revenue > mean(revenue))
[1] 1 7 10 11 12
> (revenue - expenses)[revenue > mean(revenue)]
[1] 2522.67 8210.55 -2238.65 659.60 11629.54
我是编程新手,遇到了一些问题。我有以下 2 个向量,一个有支出,另一个有 12 个月的收入: '''
revenue <- c(14574.49, 7606.46, 8611.41, 9175.41, 8058.65, 8105.44, 11496.28, 9766.09, 10305.32, 14379.96, 10713.97, 15433.50)
expenses <- c(12051.82, 5695.07, 12319.20, 12089.72, 8658.57, 840.20, 3285.73, 5821.12, 6976.93, 16618.61, 10054.37, 3803.96)
'''
我必须能够列出收入大于 12 个月平均收入的利润(收入 - 支出)。我好像想不通。
这就是我在下面用来尝试得到这个的东西: '''
for(i in 1:length(revenue)){
if(revenue > mean.revenue){
good_months <- c(revenue>mean.revenue)
}
}
good_months
'''
问题在于,它只会在那些月份得出 true 或 false。我怎样才能只获得真值?
也许你可以用这个
> which(revenue > mean(revenue))
[1] 1 7 10 11 12
> (revenue - expenses)[revenue > mean(revenue)]
[1] 2522.67 8210.55 -2238.65 659.60 11629.54