所在位置:主页 > 程序语言 > r语言是低级语言么

r语言是低级语言么

发布时间:2023-11-21 09:39来源:www.sf1369.com作者:宇宇

一、r语言是低级语言么

首先R是一种专业性很强的统计语言,如果想学得快一些的话,基本的统计学知识要懂,不然很多东西会掌握的比较慢。

掌握基本语法和操作,推荐国内的已经翻译的比如《R语言实战》《R语言编程艺术》,这个过程中最好结合一些小例子来做一些分析的东西。其他还有《R语言实例》《R语言核心技术手册》也都是很好的书!如果需要可视化的话,强烈不推荐学习R本身的作图系统,实在是太不友好了.....还是用ggplot2吧。

掌握了上面的,就可以深入一些了,如果是做数据分析和可视化,推荐《ggplot2:数据分析与图形艺术》,这个才是作图的神器啊.....如果是空间分析相关的,推荐《Applied Spatial Data Analysis with R》,这个如果可以的话看英文版,而且要有地学的一些知识背景,中文版翻译的太次了,尽量不要看。数据挖掘机器学习之类的,可以看看比如《数据挖掘与R语言》、《机器学习——实用案例解析》,不过我觉得这几本书没上面的那几本好,但是可以大概看看是咋回事,最好还是看看专门的相关书籍,熟悉各种算法和流程,到时候搜索R的package,照着文档和例子搞定,不是特别难。

最后,强烈推荐统计之都、R-bloggers,统计之都以及谢益辉、肖凯、刘思喆等人的博客(自行Google以及到上面的网站找链接),订阅一下,会很有帮助,RStudio是个很棒的IDE,用起来很爽,功能很强大。

总之,你可以从《R语言实战》开始出发吧!

二、R语言。。。求解释code

Q1

1. 将Fib2加到Fibonacci 里

2. 存Fib2

3. 算新的Fib2

4. 把Fib1变成循环刚开始的Fib2

Q2.

while (Fib1+Fib2 < 300) {

    Fibonacci <- c(Fibonacci, Fib1+Fib2)

    Fib1 = Fib2

}Q3

Fibonacci <- c(1,1)

while (tail(Fibonacci, n=1) < 300) {

    Fibonacci <- c(Fibonacci, sum(tail(Fibonacci, n=2)))

}

三、R语言,求解释code....

我逐行给你解释

>U2 <- runif (1000) #生成1000个服从0,1上均匀分布的数,同理U1

> U1 <- runif (1000) #runif 是 random uniform的缩写,你只给了1000的个数没有指定范围,那么默认是0,1上的均匀分布 比如说 U3 <- runif (1000,1,2) 那就是1,2上均匀分布

> X <- U1 +U2

> Y <- U1- U2 #这两句很直观,X是U1 U2的和,Y是U1 U2的差

Q1:plot ( Y~X) 就是打出(x,y)的图 ,效果和plot(x,y)一样。为什么是菱形?你比如说X=0.5小于1的时候,由于U1和U2都是非负数,且U1 +U2=0.5. U1 U2的取值范围都是在0到0.5之间,所以U1- U2就在正负0.5之间,所以X是多少,那么Y的范围就是正负X,这不就是菱形嘛。当然在X=1.5大于1的时候呢,U1+U2=1.5但是U1和U2都是0,1之间的,所以U1-U2又是在正负0.5之间,既Y在正负1-X之间。

Q2:X 和Y 是随机independent 吗?当然不是,求解联立方程得X+Y=2U1,有关系的。

切忌用cor(x,y)=0来判断x,y是否独立,这是不成立的。独立-->相关系数为0,反过来不成立。

Q3:U1 和U2 也是随机independent 吗? #那图都没plot U1,U2,那怎样知道啊?

可以理解是随机的,这要涉及的到随机数怎么产生的。没plot你自己plot一下不就好了

plot(U1,U2),肯定是在单位正方形里面随机分布,完全没有规律

Q4: X 和 Y 是 linearly dependent 吗?必须线性独立啊,除非X是Y的某个倍数,这怎么可能。

Q5: U1 和 U2 linearly dependent吗? 同Q4

四、用R语言估计参数值 请帮忙解释下面这段R语言程序每句的含义,谢谢!

从第一行开始,N直到pai,都是赋值语句。其中x1和x2是长度为N,类型为十进制小数的向量。

runif是生成一个随机数,取值在-1到1之间。for循环语句生成具体的两个向量,即x1和x2,其中的每个数都用runif来生成。

紧接之后的if语句用来计数n,其条件为如果对于数值x1[i]和x2[i],如果点(x1[i],x2[i])位于单位圆内,n就加1。一共循环N次。

最后就得出值pai = 4*n/N。

看下来不像是一个参数值估计程序。