改变vector中的一项以达到r中的函数的目标值



我有以下数据:

z <- c(3,4,22,1,323,42,4,04,99,9,24,76,1)
target_mean <- 55

我的问题是:z[1] (z中的第一个条目)的值是多少?答案是106(我通过手动更改z[1]来检查)。

对于长z,另一个更快的选择:

target_mean * length(z) - sum(z[-1]) 
# [1] 106

输入

z <- c(3,4,22,1,323,42,4,04,99,9,24,76,1)
target_mean <- 55

我解决了。非常简单的东西。

for (i in 1:150){
z[1] = i
if(mean(z) == 55){
print(i)
}
}

Try

> (target_mean - mean(z)) * length(z) + z[1]
[1] 106

最新更新