R语言基本数据分析

2024-05-18 14:33

1. R语言基本数据分析

R语言基本数据分析
本文基于R语言进行基本数据统计分析,包括基本作图,线性拟合,逻辑回归,bootstrap采样和Anova方差分析的实现及应用。
不多说,直接上代码,代码中有注释。
1. 基本作图(盒图,qq图)
    #basic plot
    boxplot(x)
    qqplot(x,y)
2.  线性拟合
    #linear regression
    n = 10
    x1 = rnorm(n)#variable 1
    x2 = rnorm(n)#variable 2
    y = rnorm(n)*3
    mod = lm(y~x1+x2)
    model.matrix(mod) #erect the matrix of mod
    plot(mod) #plot residual and fitted of the solution, Q-Q plot and cook distance
    summary(mod) #get the statistic information of the model
    hatvalues(mod) #very important, for abnormal sample detection
3. 逻辑回归

    #logistic regression
    x <- c(0, 1, 2, 3, 4, 5)
    y <- c(0, 9, 21, 47, 60, 63) # the number of successes
    n <- 70 #the number of trails
    z <- n - y #the number of failures
    b <- cbind(y, z) # column bind
    fitx <- glm(b~x,family = binomial) # a particular type of generalized linear model
    print(fitx)
     
    plot(x,y,xlim=c(0,5),ylim=c(0,65)) #plot the points (x,y)
     
    beta0 <- fitx$coef[1]
    beta1 <- fitx$coef[2]
    fn <- function(x) n*exp(beta0+beta1*x)/(1+exp(beta0+beta1*x))
    par(new=T)
    curve(fn,0,5,ylim=c(0,60)) # plot the logistic regression curve
3. Bootstrap采样

    # bootstrap
    # Application: 随机采样,获取最大eigenvalue占所有eigenvalue和之比,并画图显示distribution
    dat = matrix(rnorm(100*5),100,5)
     no.samples = 200 #sample 200 times
    # theta = matrix(rep(0,no.samples*5),no.samples,5)
     theta =rep(0,no.samples*5);
     for (i in 1:no.samples)
    {
        j = sample(1:100,100,replace = TRUE)#get 100 samples each time
       datrnd = dat[j,]; #select one row each time
       lambda = princomp(datrnd)$sdev^2; #get eigenvalues
    #   theta[i,] = lambda;
       theta[i] = lambda[1]/sum(lambda); #plot the ratio of the biggest eigenvalue
    }
     
    # hist(theta[1,]) #plot the histogram of the first(biggest) eigenvalue
    hist(theta); #plot the percentage distribution of the biggest eigenvalue
    sd(theta)#standard deviation of theta
     
    #上面注释掉的语句,可以全部去掉注释并将其下一条语句注释掉,完成画最大eigenvalue分布的功能
4. ANOVA方差分析

    #Application:判断一个自变量是否有影响 (假设我们喂3种维他命给3头猪,想看喂维他命有没有用)
    # 
    y = rnorm(9); #weight gain by pig(Yij, i is the treatment, j is the pig_id), 一般由用户自行输入
    #y = matrix(c(1,10,1,2,10,2,1,9,1),9,1)
    Treatment <- factor(c(1,2,3,1,2,3,1,2,3)) #each {1,2,3} is a group
    mod = lm(y~Treatment) #linear regression
    print(anova(mod))
    #解释:Df(degree of freedom)
    #Sum Sq: deviance (within groups, and residuals) 总偏差和
    # Mean Sq: variance (within groups, and residuals) 平均方差和
    # compare the contribution given by Treatment and Residual
    #F value: Mean Sq(Treatment)/Mean Sq(Residuals)
    #Pr(>F): p-value. 根据p-value决定是否接受Hypothesis H0:多个样本总体均数相等(检验水准为0.05)
    qqnorm(mod$residual) #plot the residual approximated by mod
    #如果qqnorm of residual像一条直线,说明residual符合正态分布,也就是说Treatment带来的contribution很小,也就是说Treatment无法带来收益(多喂维他命少喂维他命没区别)
如下面两图分别是 
(左)用 y = matrix(c(1,10,1,2,10,2,1,9,1),9,1)和
(右)y = rnorm(9);
的结果。可见如果给定猪吃维他命2后体重特别突出的数据结果后,qq图种residual不在是一条直线,换句话说residual不再符合正态分布,i.e., 维他命对猪的体重有影响。

R语言基本数据分析

2. 学习数据分析,需要学r语言吗

需要的
R语言是S语言的一种开源实现,一种用于数据分析和图形化的编程环境。资深分析师Catherine最近撰文结合自己的实践经验详细介绍了R语言的优点和缺点。

Catherine指出,R主要用于做统计工作。你可以把它看成是像SAS Analytics分析系统的竞争者之一,R如此强大,诸如StatSoft STATISTICA 或者 Minitab与R相比,就不值一提了。


1.什么是数据分析师
数据分析师(英文简称CPDA),是以数据为依据,运用科学的计算工具,将经济学原理与数学模型结合,对现状及远期进行统计、分析、预测并转化为决策信息的专业人才。

2.用数据说话,做理性决策!
随着我国经济决策逐渐由拍脑袋的“经验决策”转向“数据决策”,数据分析成为战略决策、经营决策、投资决策必备的科学方法论。

3.数据分析专业人才稀缺!
数据分析师以待遇优厚和地位尊崇而闻名国际,被Times时代杂志誉为“21世纪最热门五大新兴行业”。

4.学习经典课程,提升管理能力!
数据分析师培训课程已经连续多年被工业和信息化部教育与考试中心评选为“优秀课程方案”。

5.决策科学化,数据分析行业在崛起!
随着数据分析师事务所为企业提供多方面、多层次的数据分析服务,掀起了一股“数据分析引导科学决策”的旋风,数据分析行业蓬勃发展。


从业前景

目前,全球的在册数据分析师,分布在众多国家。据介绍,一个经验丰富的数据分析师,不仅在各行业担任着重要职位,为企业科学决策提供精准预测支撑,同时还拥有较高的收入水平,未来从业前景广阔。

3. 学习 R 语言对金融分析人士有何意义

概述
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

分析
首先从R语言的功能来看,它用来分析数据,而且可以使数据成相,让大数据图形化,用于统计计算和统计制图。 但前提是如果已经其他软件做了这件事 为何还要自己手动Coding呢? 所以是对于常规业务是不需要 因为有软件做了 况且做的还很好.如果你是精算师 或是 某个特定市场前景 根据数据分析预测。

对于一般的日常金融数据统计这并不是特别有必要,一些常规的软件已经足够用。但是自然学习固然是好事如果你有时间你自然可以通过这个来提高自己。也觉得通过自己编写数据模型分析预测 自己假设 . 这确实是一件很Cool的事情. 但使用前提是需要解决我上面提到两个问题. 如果你想做的很好还需要你相当的耐心学好R语言自身.其实R语言实际意义是规避了像那些商业软件内部代码不公开一样. 运算和分析规则只有内部人知道. 而普通用户和分析师不知情.  而R的目的则是在有数据的前提下 可以自由的计算任何想计算的统计量或图形。

总结
学习当然是一件好事,R语言可以很好对程序进行分析,是一个可以把数据图像化的优秀工具。

学习 R 语言对金融分析人士有何意义

4. 学习 R 语言对金融分析人士有何意义?

学习 R 语言对金融分析人士有何意义?
总之,多学一点东西总是没错的。至于,学了之后会有哪些好处呢,我们就来看看专业人士有什么看法。

对于金融人士来讲,R概括几个领域
对于金融人士来讲,R也许能被我片面地概括几个领域:时间序列,模拟预测,最优化,制图(其实最终还是要归总到贝叶斯,最优化,和simulation的问题)。这些R的工具涵盖的金融方面有:资产组合,量化风险,资产定价,交易模拟,制图报告等。几乎可以满足所有机构投资人与个体投资人的需求。“听起来好诱人哦,好像万金油一样,R好强大哦~“大家心里可能会这么想。不过实话说,这并不是R的功劳,这是给R写包的人的功劳。

学习的意义
如果作为一个量化分析师,学R的意义在于,你可以对你的分析更可控。可是你千万想好这几点再去深学: 1. 你同事愿意读代码还是愿意读excel?如果其他人都用vba,会显得你格格不入,甚至降低团队效率。2. 你真的需要那么多可控性吗?真的有必要用单反相机照午餐放到微博去吗?如果真的需要(代表你不是因为刻意用R才用R),用尼康(比喻成R)与用佳能(比喻成matlab)真的那么重要吗? 绝不是打消各位学R的积极性,或者居高临下给大家喝鸡汤。这些是亲身感悟。很多时候为了自己装高贵冷艳,总会学一些冷门的手艺,这样用不熟的技术闭门造车,其实很耽误事。毕竟分析师的最终结果是分析,最注重的是分析效率。

总之,学习了还是有很多好处的,学到的东西是你的了,不是吗?

5. R是现在最好的数据科学语言吗

应该说是应用比较广的一种数据科学语言。
R语言的优点:
1. 免费... 开源... (这也是SAS流行于公司,R流行于研究机构和大学的最主要原因)
2. 是专门为统计和数据分析开发的语言,各种功能和函数琳琅满目,其中成熟稳定的一抓一把
3. 语言简单易学。虽与C语言之类的程序设计语言已差别很大(比如语言结构相对松散,使用变量前不需明确正式定义变量类型等等),但仍保留了程序设计语言的基础逻辑与自然的语言风格。
4. 小... 安装程序只有50Mb左右, 因为体积轻便,运行起来系统负担也小。
5. 同各种OS的兼容性好。
6. 因为用的人越来越多,又是开源,有很多配套的“插件”为其锦上添花。

R是现在最好的数据科学语言吗

6. R语言与统计分析的介绍

《R语言与统计分析》以数据的常用统计分析方法为基础,在简明扼要地阐述统计学基本概念、基本思想与基本方法的基础上,讲述与之相对应的R函数的实现,并通过具体的例子说明统计问题求解的过程。《R语言与统计分析》注重统计的思想性、方法的实用性和计算的可操作性。

7. 怎么学习用R语言进行数据挖掘?

我不知道你的程度,几个建议:

1、数据挖掘导论这本书先看看,各种经典算法,Aprior、C4.5、决策树分类等等先弄明白;
2、学习R语言,可以通过例子来渗透这门语言的语法规则等,多用help命令,有个Rstudio软件辅助学习,界面比R友好,如果英文理解有困难,网上很多博客几乎对每一个语法规则都有涉及;
3、有一些有名的网站,如统计之都,可以多逛逛。

怎么学习用R语言进行数据挖掘?

8. 怎么学习用r语言进行数据挖掘

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

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

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