#创建包
#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")