用R语言计算1到1/N的累加和,并与log(N)+0.6比较,其中N=500,1000,2000,4000,8000

问题遇到的现象和发生背景

是《R数据分析:方法案例详解》第二章的一个题目,刚讲到向量、矩阵等基本数据结构。

我的解答思路和尝试过的方法

想过自己编一个函数(但自己编不出来,只在C语言编过,不知道区别大不大),但又还没学到编函数那里,也许有不用编函数的方法?

我想要达到的结果

如果编函数的话,希望可以: 例如N()是函数,我输入N(500),可以输出1到1/500的累加和,并与log(500)+0.6比较的结果。更想要知道一个不需要自己编函数的方法。

自定义函数需要自己去用function定义,参考代码:

f<-function(n) {
    sum<-0
    for (i in 1:n){
        sum=sum+1/i
    }
    diff<-sum-(log(500)+0.6)
    res<-list("sum"=sum,"sum-expr"=diff)
    return(res)
}
print(f(500)[['sum']])
print(f(500)[['sum-expr']])

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632