R语言之实战分析

2024-05-17 12:09

1. R语言之实战分析

 采编自 DataMiningWithR 
   
                                                                                   
    2.1 观察各个变量数据的规范性    几乎每个变量都有异常值存在,多是异常大值
                                            2.2 观察变量间的相关性 
                                                                                    2.3 双变量间的相关性    由上可知,"oPO4"和"PO4"高度相关,达到0.91
                                            2.4 观察单个变量的数据分布情况 
                                                                                                                           左图可明显判断异常值的存在,右图可展现数据在不同范围内的分布集中度
                                                                                    3.1 了解缺失值的基本分布情况 
                                            3.2 直接删除缺失值,在缺失值占比很少的情况采用 
    3.3 基于一定的规则填充缺失值 
    4.1 数据准备和聚类预览 
   初步判断,可分为4组
                                            4.2 层次聚类 
                                            4.3 kmeans均值聚类 (1) 
                                            4.3 kmeans均值聚类 (2) 
                                            4.1 盖帽法处理异常值    即分别设定数据的上下限,高于上限的用上限替换,低于下限的用下限替换
    4.2 盖帽法处理异常值后重现考察数据的分布情况 

R语言之实战分析

2. R语言对应分析

 @[toc]
   Q型分析:样本之间的关系(聚类算法等)   R型分析:变量之间的关系(主成分分析、因子分析等)。   有时候我们不仅要弄清样本之间和变量之间的关系,还要弄清 样本与变量之间的关系 ,而对应分析就是这样一种分析方法。(变量就是指特征)
   对应分析为我们可以提供三个方面的信息
   上述三方面信息都可以通过二维图呈现出来
   当对两个分类变量进行的对应分析称为 简单对应分析 ;   对两个以上的分类变量进行的对应分析称为 多重对应分析 。
   对应分析将变量及变量之间的联系同时反映在一张二维或三维的散点图上,并使联系密切的类别点较集中,联系疏远的类别点较分散;通过观察对应分布图就能直观地把握变量类别之间的联系。
    对于该方法,在减少维度方面与因子分析相似,在作分布图方面与多维尺度方法相似。 
   在对数据作对应分析之前,需要先了解因素间是否独立。如果因素之间相互独立,则没有必要进行对应分析,当因素间在统计学上具有显著的关联性时,在此基础上使用对应分析方法,其分析结果才具有意义。
   p-value < 0.001,两组变量显著不独立,说明具有相关性。

3. 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语言基本数据分析

4. R语言 求解答,谢谢。

原假设:沙门氏菌的平均水平mu<=0.3MPN/g

对立假设:沙门氏菌的平均水平mu>0.3MPN/g
设向量
>vec<-c(0.593,0.142,0.329,0.691,0.231,0.793,0.519,0.392,0.418)
用t检验
>t.test(vec,mu=0.3,alternative="greater",conf.level=0.01)
t.test 是t检验
括号里第一个参数vec是检验的数据
mu=0.3 是检验均值
alternative="greater" 对立假设是大于号
conf.level=0.01 置信水平α=0.01


结果是

One Sample t-test

data:  vec 
t = 2.2051, df = 8, p-value = 0.02927
alternative hypothesis: true mean is greater than 0.3 
1 percent confidence interval:
 0.6619424       Inf 
sample estimates:
mean of x 
0.4564444 

p-value = 0.02927>0.01 不能否定原假设 在置信水平α=0.01的情况下。
但是在α=0.05的情况下,就可以否定原假设,认为冰激凌中的沙门氏菌超出警戒水平0.3MPN/g

5. R语言实战的内容简介

数据时代已经到来,但数据分析、数据挖掘人才却十分短缺。由于“大数据”对每个领域的决定性影响,相对于经验和直觉,在商业、经济及其他领域中基于数据和分析去发现问题并作出科学、客观的决策越来越重要。开源软件R是世界上最流行的数据分析、统计计算及制图语言,几乎能够完成任何数据处理任务,可安装并运行于所有主流平台,为我们提供了成千上万的专业模块和实用工具,是从大数据中获取有用信息的绝佳工具。  《R语言实战》从解决实际问题入手,尽量跳脱统计学的理论阐述来讨论R语言及其应用,讲解清晰透澈,极具实用性。作者不仅高度概括了R语言的强大功能、展示了各种实用的统计示例,而且对于难以用传统方法分析的凌乱、不完整和非正态的数据也给出了完备的处理方法。通读本书,你将全面掌握使用R语言进行数据分析、数据挖掘的技巧,并领略大量探索和展示数据的图形功能,从而更加高效地进行分析与沟通。  想要成为倍受高科技企业追捧的、炙手可热的数据分析师吗?想要科学分析数据并正确决策吗?不妨从本书开始,挑战大数据,用R开始炫酷的数据统计与分析吧!  《R语言实战》内容:  R安装与操作  数据导入/导出及格式化  双变量关系的描述性分析  回归分析  模型适用性的评价方法以及结果的可视化  用图形实现变量关系的可视化  在给定置信度的前提下确定样本量  高级统计分析方法和高级绘图

R语言实战的内容简介

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

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

7. R语言的介绍

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

R语言的介绍