读书笔记_第二十一章

#创建包

#npar包,自动下载,自动安装
#未运行成功,对应地址下并无此文件
pkg <- "npar_1.0.tar.gz"
loc <- "http://www.statmethods.net/RiA"
url <- paste(loc,pkg,sep="/")
download.file(url,pkg)
install.packages(pkg,repos=NULL,type="source")


#创建npar包
#第一步 安装必要的工具

install.packages("roxygen2",depend=TRUE)


#第二步 配置文件夹

#第三步 生成文档
library(roxygen2)
roxygenize("npar")

#第四步 建立包
system("R CMD build npar")  #文件名 npar_1.0.tar.gz
system("Rcmd INSTALL --build npar") #文件名 npar_1.0.zip

#第五步 检查包(可选)
system("R CMD check npar")

#第六步 创建pdf
#目前依然失败,后续再搞吧

#安装url包
install.packages("url") #报错,版本不支持
#Warning in install.packages :
#    package ‘url’ is not available (for R version 3.4.4)
source("http://bioconductor.org/biocLite.R") 
#Warning in install.packages :
#    package ‘BiocInstaller’ is not available (for R version 3.4.4)
install.packages("BiocInstaller",
                 repos="https://bioconductor.org/packages/3.6/bioc")
library("BiocInstaller")
biocLite("url")      #包的名称


library("url")
system("R CMD Rd2pdf npar")

#第七步 本地安装包
system("R CMD INSTALL npar") 

detach(package:npar,unload=TRUE)
remove.packages("npar")

install.packages(paste(getwd(),"/npar_1.0.tar.gz",sep=""),
                 repos=NULL,type="source")


#包使用

#范例一 
library(npar)
data(life,package="npar")
hist(life$hlef,xlab="Healthy Life Expectancy (years) at Age 65",
     main="Distribution of Healthy Life Expectancy for Women",
     col="grey",breks=10)

#范例二
library(ggplot2)
ggplot(data=life,aes(x=region,y=hlef))+
    geom_point(size=3,color="darkgrey")+
    labs(title="Distribution of HLE Estimates by Region",
         x="US Region",y="Healthy Life Expectancy at Age 65")+
    theme_bw()

#范例三 用npar包对HLE估值进行比较
library(npar)

#missing()函数介绍
a <- NULL
a <- NA
missing(a) #不存在缺失值,返回FALSE

#统计formula中因变量,自变量总个数
a <- y~a
all.vars(a) #返回"y" "a"
length(all.vars(a)) #返回2

a <- y~x1+x2+x3+x4
all.vars(a) #返回"y"  "x1" "x2" "x3" "x4"
length(all.vars(a)) #返回5

#match.arg()
#根据给定的字符串,返回指定字符集中字符,没有成功匹配则报错,有成功匹配则返回完整的字符串
method <- c("holm","hochberg","hommel","bonferroni","BH","BY","fdr","none")
match.arg("holm",method) #返回"holm"
match.arg("f",method) #返回"fdr"

match.arg("B",method)
#返回错误
#Error in match.arg("B", method) : 
#    'arg'应当是“holm”, “hochberg”, “hommel”, “bonferroni”, “BH”, “BY”, “fdr”, “none”其中的一个

match.arg("BH",method) #返回"BH"

#model.frame(formula,data)
#用于创建数据框,其中第一列是因变量,第二列是分组变量
#从原始数据中提取了两列值
a <- model.frame(hlef~region,life)
class(a) #返回"data.frame"
str(a) #查看数据结构

a[1] #提取第一列
class(a[1]) #返回"data.frame"

y <- a[[1]] #提取第一列
class(a[[1]]) #返回向量"numeric"

g <- as.factor(a[[2]]) #取第二列为列表,并转换成因子列
levels(g) #返回所有因子水平"North Central" "Northeast"     "South"         "West"    
nlevels(g) #返回因子水平总个数

g <- reorder(g,y,FUN = median)
 
#你可以通过 class() 把类看作任意的对象,
#也可以通过 inherits(x, “classname”) 来查看某个对象是否继承自某个具体的类。
inherits(g,"factor")  #判断g是否为factor类型,返回TRUE
class(g) #返回factor

#调试进入oneway函数内部
debug(oneway)
results <- oneway(hlef~region,life)
undebug(oneway)
summary(results)

plot(results,col="lightblue",main="Multiple Comparisons",
     xlab="US Region",
     ylab="Healthy Life Expectancy (years) at Age 65")
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值