r语言基本数据分析

author author     2023-04-23     363

关键词:

R语言基本数据分析本文基于R语言进行基本数据统计分析,包括基本作图,线性拟合,逻辑回归,bootstrap采样和Anova方差分析的实现及应用。不

参考技术A 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语言实战-基本数据管理

8.数据排序>leadership$age[1]32452539NA>newdata<-leadership[order(leadership$age),]>newdatamanagertestDatecountrygenderageitem1item2item3item4item5332008-10-01UKF2535552112008-10-24USM325455544 查看详情

r语言描述性统计分析:基本统计分析

R语言描述性统计分析:基本统计分析单组数据汇总统计量;均值、方差、中位数、分位数;数据分布类型的图形描述;CDF、直方图、QQ图等;分组数据汇总统计量;tapply、aggregategroupby分组数据的图形描述;直方图、带状图、并... 查看详情

r语言实战-基本数据管理

5.缺失值>y<-c(1,2,3,NA)>is.na(y)[1]FALSEFALSEFALSETRUE>leadershipmanagertestDatecountrygenderageitem1item2item3item4item51110/24/08USM32545552210/28/08USF45352553310/1/08UKF25355524410/12/08U 查看详情

r语言-基本数据管理

目的:学会对原始的数据集进行整理(日期,缺失值,变量创建等),然后通过修改后的数据集可以更有针对性的来分析数据案例:分析男性和女性经理人在领导自己企业的不同  问题:1.处于管理岗的男性和女性在服从上级的程度上是... 查看详情

r语言实战-云图

目录第一部分 入门第2章 创建数据集第3章 图形初阶第4章 基本数据管理第5章 高级数据管理第二部分 基本方法第6章 基本图形第7章 基本统计分析第三部分 中级方法第8章 回归第9章 方差分析第10章 功效分析第11... 查看详情

r语言-基本统计分析

目的:  1.描述性统计分析  2.频数表和;列连表  3.相关系数和协方差  4.t检验  5.非参数统计在上一节中使用了图形来探索数据,下一步就是给出具体的数据来描述每个变量的分布和关系1.描述性统计分析  探究案例:... 查看详情

r语言实战-基本统计分析-描述性统计分析

>vars<-c("mpg","hp","wt")>head(mtcars[vars])mpghpwtMazdaRX421.01102.620MazdaRX4Wag21.01102.875Datsun71022.8932.320Hornet4Drive21.41103.215HornetSportabout18.71753.440Valiant18.11053.460>1. 查看详情

r语言-数据结构

主站:https://lartpang.github.io/之前一阵子,在EDX上学习了R语言的一门基础课程,这里做个总结。这门课程主要侧重于R的数据结构的介绍,当然也介绍了它的基本的绘图手段。工作空间相关ls()##character(0)rm(a)##Warninginrm(a):找不到对象... 查看详情

[读书笔记]r语言实战基本数据管理

1.创建新的变量mydata<-data.frame(x1=c(2,2,6,4),x2=c(3,4,2,8))#方法一mydata$sumx<-mydata$x1+mydata$x2mydata$meanx<-(mydata$x1+mydata$x2)/2#方法二attach(mydata)mydata$sumx<-x1+x2mydata$meanx<-(x1+x2) 查看详情

r语言的数据结构

对象的5种基本类型属性 查看详情

r语言knn模型数据分类实战

R语言KNN模型数据分类实战目录R语言KNN模型数据分类实战#KNN基本原理#案例分析​#数据集说明 查看详情

titanic生存预测(kaggle入门赛)——基于r语言

 Titanic生存预测  ——数据模型汇总报告摘要 R语言多元统计分析课程是一门综合理论和实践的大课程,既需要我们掌握基本的多元统计分析技术理论,又需要针对具体问题在R的环境中实现。      ... 查看详情

机器学习与r语言——基本语法

一、注释1、选中要注释的内容,快捷键Ctrl+Shift+C(取消注释方法相同)2、在需注释内容前输入#1#需注释的内容3、利用if语句,将判断条件设置为false则可跳过if语句中的内容,相当于实现了内容的注释1if(false)2{3x=54y<-105}二、工作... 查看详情

r语言aggregate函数数据聚合实战

R语言aggregate函数数据聚合实战目录R语言aggregate函数数据聚合实战#基本语法#aggregate函数计算分组的均值(mean) 查看详情

r语言sample函数数据对象采样实战

R语言sample函数数据对象采样实战目录R语言sample函数数据对象采样实战#基本语法#仿真数据 查看详情

r语言seq函数生成数据序列实战

R语言seq函数生成数据序列实战目录R语言seq函数生成数据序列实战#基本语法#seq函数的基础应用 查看详情

r语言数据横向合并cbind函数实战

R语言数据横向合并cbind函数实战目录R语言数据横向合并cbind函数实战#基本语法#cbind横向为dataframe添加新的列 查看详情

r语言-实验报告-数据清洗

...内容能对基本的开发环境进行检验和错误排查,以及对新语言软件进行安装。能使用NavicatforMySQL对MySQL数据库进行基本的连接测试,同时,在mysql中新建student数据库。能利用外部SQL脚本文件对数据库进行数据集的导入和初始化。... 查看详情