r语言x<-c(1 2 3),R语言学习笔记(三)

3.22统计和作图(statistics and graphic)

1\quantile(x)函数为四等分点的边界数值

也可自己设置等分点,如

quantile(x,seq(0,1,0.1)),为十分

2、对于缺损值的处理,一定要加入,na.rm=T的参数设定

mean(vetor1,na.rm=T)

[1] 340.168

3\对于一个向量的基本统计如中值,最大最小,平均值,可以用summary()

4\直方图hist(x,breaks=a)其中a可以

n

plot(sort(x),(1:n)/n,type="s",ylim=c(0,1))

5、Q-Q plot 函数形式qqnorm(x)

6、对于箱式图boxplot

case:

data(IgM)

par(mfrow=c(1,2))

boxplot(IgM)

boxplot(log(IgM))

par(mfrow=c(1,1))

d对于两个向量的比较

a

b

boxplot(a,b)

7\hist(expend.lean,breaks=10,xlim=c(5,13),ylim=c(0,4),col="white")

###其中break代表的是分的group的组数,

8、一个矩阵的产生,并且赋予其行列名字

a

caff.marital

caff.marital

colnames(caff.marital)

rownames(caff.marital)

caff.marital

##其中的rownames和colnames可以进行括号内双引号枚举

9、柱状图利用的函数是barplot,其中针对的是默认按照列来计算的,如果是行数据,怎进行t转置

beside=T

barplot(prop.table(t(caff.marital),2), legend.text=colnames(caff.marital),col="white", beside=T)

##R语言将无法寻找到空白的位置放legend的内容,会覆盖其中的一个向量,因此,需要用函数locator(),见后面

10、对于t检验可以两个函数形式t.test()和wilcox.test,其中wilcoxon test在有些地方叫做Mann-Whitney test

t test是假定为数据时从正态分布的里面出来的。

t检验可以个出95%置信区间的具体数值,t.test(x,conf.level=0.99,mu=34),mu中给出想要检测的值,缺省值mu=0

conf.level=0.99为给定具体的置信区间。

11、两组数据的显著性t检验,

t.test(expend~stature)###里面包含了种不同的数值obese和lean两种类型,

> energy

expend stature

1 9.21 obese

2 7.53 lean

3 7.48 lean

...

20 7.58 lean

21 9.19 obese

22 8.11 lean

例子:case

expend

stature

d

t.test(expend~stature)

11、两组数据变化var.test(expend ~ stature),t.test(vetor1~ vetor2,paired = T)

12\对于两组数据回归并且做回归线

线性回归为

veotr1

vetor2

plot(vetor1,vetor2)

abline(lm(vetor1~vetor2))

对于已经回归的函数可以除了summary可以提取到概况信息 外,还可以利用fitted()来提取

每个点对应的预测值(在回归最优化的那个方程下,计算的y值),和resid()来提取每个点对应的残差

a

fitted(a)

resid(a)###可以看到结果为每个元素对应的数值,这个可以变换预测值和真实值,并且进行回归分析

####自编函数

vetor1

vetor2

pre_obv_grap

{ regr

b

plot(b,obvy)

a

return(a)

}

pre_obv_grap(vetor1,vetor2)

########特别重要,当一个函数的返回值具有多个的时候,可以在函数里面用

###这样函数内部的返回值的结构将不会变化,可以看到里面的对象list()里面不用““

lines((vetor1[!is.na(vetor1)],fitted(regr)))###主要要利用is.na()函数去除数据中元素缺损的地方

######明天重点关注残差作图page112

#######2011.03.23

在R中的指数回归形式可能是,有待进一步验证,再看看glm的帮助

glm(y~x,family=poisson(link=log),data=dataframe)

比如

glm(the.data$y~the.data$x+the.data$b)

可以写成

glm(y~x+b,data=the.data)

指数函数其实是非线性的,但是又是内在线性的,因为指数函数可以通过两端log之后变为线性函数,所以可以用glm线性模型做回归,poisson族里默认的link就是log,就是ln,得到的参数a,b可以直接写入函数y=exp(ax+b)中

x=c(1, 1, 2, 2, 2, 3, 3, 4, 5)

y1=c(2.718,2.718,7.387524,7.387524,7.387524,20.07929023,20.07929023,54.57551085,148.3362385)

glmexpo=glm(y1~x, family=poisson)

summary(glmexpo)

意思就是通过这个回归出来的a,b对应的函数形式是y=exp(ax+b)而不是y=aln(x)+b的

resid(glmexpo)

回归函数R^2和P值的调用和获取的获取通过三步计算可以得到

1.计算模型残差平方和RSS. @#####函数resid()###里面要跟回归函数,这个回归函数就是指数或者其他的就可以选择

2.计算Y的样本方差SSY。 ####函数var()

3.R^2=1-(RSS/SSY)

####计算线性回归函数的R平方的函数,等同于cor(y,x)

R_squa

{

RSS

SSY

R_squa

return(R_squa)

}

a

jjj

jjj

###测试关于指数回归的函数形式,明天继续研究?

R_squa2

{

y

RSS

SSY

R_squa

return(R_squa)

}

a

jjj

jjj

summary(lm(a$ty~a$d))

0.3174286#####明天印证excel,并且对a,和b,值进行反推

a

y

x

RSS

SSY

R_squa

RSS

Excel是这样拟合的,对拟合模型Y=a*ebX,先将模型转化为 ln(Y)=ln(a)+bX,然后对这个方程式用最小二乘法进行线性拟合。

###用Linest帮助中R2定义来解决,引文如下:

####回归分析时,Microsoft Excel 计算每一点的 y 的估计值和实际值的平方差。这些平方差之和称为残差平方和 (ssresid)。然后 Microsoft Excel 计算总平方和 (sstotal)。当 const = TRUE 或被删除时,总平方和是 y 的实际值和平均值的平方差之和。当 const = FALSE 时,总平方和是 y 的实际值的平方和(不需要从每个 y 值中减去平均值)。回归平方和 (ssreg) 可通过公式 ssreg = sstotal - ssresid 计算出来。残差平方和与总平方和的比值越小,判定系数 r2 的值就越大,r2 是表示回归分析公式的结果反映变量间关系的程度的标志。r2 等于 ssreg/sstotal。

那么可以用公式计算ssreg和sstotal,然后可以得到R2

22.关于两个向量获取并调用其检验值P值的办法

sum.rst

p_value

p_value

##计算提取回归p值的函数,记住是线性回归

p_value

{

sum.rst

p_value

return(p_value)

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值