




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、R语言初学者指南第1章 引言函数功能示例?访问帮助文件?boxplot#添加注释#Add your comments hereboxplot生成盒形图boxplot(y)boxplot(yfactor(x)log自然对数log(2)log10以10为底的对数log10(2)library载入包library(MASS)setwd设置工作目录setwd(“C:/AnyDirectory”)q关闭Rq()citation提供对R的引用citation()第二章 R中的数据输入录入数据,并把数据系统地转化为标量(单值)、向量、矩阵、数据框或列表。如何从Excel、ascii文件、数据库和其他统计程序
2、中载入数据。2.1 R中的第1步2.1.1 小型数据库中的数据录入 #符号“<-”相当于“=” #变量名中不能出现“%,&,*,!,?,+,-,(),,#,<>”因为这些符号中的大部分都是运算符。#如果定义好了:> SQ.wing1<-sqrt(wing1)若要现实SQ.wing1的值,只需输入:>SQ.wing1或者把需要执行的命令放在圆括号内:> (SQ.wing1<-sqrt(wing1)2.1.2 应用c函数连接数据C()函数可以完成一个变量中存储多个值例如:>Wingcrd <- c(59, 55, 53.5, 55
3、, 52.5, 57.5, 53, 55)如果查看Wingcrd的第一个值,则需要> Wingcrd 1如果需要查看Wingcrd前五个值,则需要 > Wingcrd 1:5如果需要查看Wingcrd除了第二个值以外的其他值,则需要 > Wingcrd -2-负号表示删除了这个值R有很多的内置函数,最基本的有sum, mean, max, min, median(中位数), var(方差)和sd(标准差)等。> sum(Wingcrd)或者存在一个新的变量中,>S.win <- sum(Wingcrd)>S.win输入其他三组数据:>Tarsus
4、 = c(22.3,19.7,20.8,20.3,20.8,21.5,20.6,21.5)>Head = c(31.2,30.4,30.6,30.3,30.3,30.8,32.5,NA)>Wt = c(9.5,13.8,14.8,15.2,15.5,15.6,15.7)R中的变量名最好使用大写字母开头,这样可以避免将它和一些内部函数名混淆。注意,数据里有一只鸟的头的尺寸是没有测量的,我们用NA表示,这时我们调用内部函数计算就会出现错误。在向量中有一个缺失值的话,默认选项“na.rm=FALSE”(rm表示移除remove),将会导致R函数返回NA,为了避免此种情况,我们用“na.r
5、m=TRUE”,> sum(Head, na.rm=TRUE)我们将接着学习如何连接这4个变量中的数据,(1)c,cbind和rbind函数;(2)matrix和vector函数;(3)数据框;(4)列表。2.1.3 使用c,cbind和rbind结合变量Wingcrd翼弦, Tarsus踝骨, Head头, Wt体重,四组数据,每组8个值c函数可以用来连接这些数据,同时连接这些数据中的8个值:> BirdData <- c(Wingcrd, Tarsus, Head, Wt)Data是R中的一个内部函数,因而不能直接用Data.>Id <- c(1,1,1,1,
6、1,1,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4)Id向量的作用是指出具有相似Id值的观察值属于同一种形态变量。上面的命令过于繁琐,可以这么做:>Id <- rep(c(1,2,3,4), each=8)符号rep代表重复(repeat)还可以以下用法:> Id <- rep(1:4, each=8)或> a <- seq(from=1, to=4, by=1)> rep(a, each=8)接着生成一个VarNames的新变量:> Varnames = c("Wingcrd
7、", "Tarsus", "Head", "Wt")>Varnames>Id2= rep(Varnames, each=8)>Id2 c函数是我们结合数据或者变量的一种选择,另一种选择是cbind函数,它的作用是将所结合的变量以列的形式输出。如:> Z <- cbind(Wingcrd, Tarsus, Head, Wt)> Z当我们有特殊需求时:1、 访问Z的第一列: > Z ,1 或者 >Z1:8, 12、访问Z的第二行: >Z2, 或者 >Z2,1:4>
8、 dim(Z) #表示Z的行数和列数2.1.4 使用vector函数结合数据vector函数的作用与c函数类似,它可以用来代替c函数。2.2 数据的载入2.2.1 Excel中的数据载入两种方法:第一种(常用):1、 将EXCEL中的数据准备好;2、 将其提取到制表符分隔的ascii文件中;3、 关闭EXCEL;4、 使用read.table函数将数据载入到R中。第二种:是一个专门的R程序包,RODBC,它可以访问EXCEL中选定的行和列。2.2.1.1 EXCEL中的数据准备样本变量形式:列表示各种变量,如性别、年龄、成绩等,行表示各种样本、观察值、案例、对象或其他称之为样本单元的东西。2.
9、2.1.2 数据提取到制表符分隔的ascii文件步骤:在EXCEL中,“文件”“另存为”“保存类型”选择“文本文件(制表符分隔)”,将EXCEL中的数据提取到一个制表符分隔的ascii文件中,注意存储位置。(注意,此操作前,必须让EXCEL中的没有特殊的数据,也不可有空内容或者包含空格的名称,不然会出现NA)2.2.1.3 read.table函数的使用> Squid <- read.table(file = “C:/RBOOK/squid.txt(存储目录)”, header = TRUE)数据以数据框的形式存储到Squid,名称尽量简单、明确而read.table中的heade
10、r=TRUE,表示第一行包括了标签,如果文件中红没有标签,可以为header=FALSE.第三章 访问变量和处理数据子集3.1 访问数据框变量> setwd(“C:UserswinnerDesktop学习札记”) #设置默认存储目录> Squid <- read.table(file = “C:UserswinnerDesktop学习札记RBOOK.txt”, header = TRUE)1、用names命令查看正在处理的变量> names(Squid)3.1.1 str函数 str命令告诉我们数据框中每个变量的属性> str (Squid )read.table
11、和names和str函数结合在一起使用 3.1.2 函数中的数据参数 > M1 <- 1m ( GSI factor(Location) + factor(Year), data=Squid )直接用(data= )来告诉R,变量在数据框Squid中。但并不是所有的函数都可以如此做,因为有的函数美元data参数。3.1.3 $符号如果一个函数没有data参数,可以用$符号:> Squid $ GSI还可以: > Squid , 6 #第6列也就是变量GSI那一列计算均值:两种方法都可以 但建议用第一种> mean ( Squid$GSI)3.1.4 attach函
12、数用attach命令把Squid添加到R的搜索路径里,就可以直接输入变量而不加其他函数,就能看到该变量的值了。> attach (Squid)> GSI> boxplot(GSI)> mean(GSI)attach虽然比较好,但是如果有两个具有相同变量名称的数据框,就会发生问题。1、 为了避免复制变量,不要输入attach(Squid)两次;2、 如果你使用attach命令,确保你使用唯一的变量名称,避免使用月份、位置等常见的名称;3、 如果你载入多个数据集,并且一次只处理一个数据集,考虑使用detach命令从R的搜索路径里移除一个数据框。如: > detach
13、(Squid)3.2 访问数据子集如果我只想处理某个位置的雌性数据,为了提取数据子集,我们需要知道性别是如何编码的,可以键入:> Squid$Sex结果显示了变量Sex的所有值,可以用unique命令显示这个变量里有多少个唯一值:> unique(Squid$Sex)出现1表示雌性,2表示雄性为了访问所有的雄性数据,使用:> Se1 <- Squid$Sex=1 #生成一个向量Se1与Sex具有相同的长度,且Sex的值为1时的值> SquidM <- Squid Se1, #选择Squid中Se1等于TRUE,并把我们选择的数据存储到SquidM> S
14、quidM 上述命令也可以写为:>Squid <- Squid Squid$Sex =1 ,>Squid若Location上的值有1、2、3、4这四个,我们想提取1、2、3的数据,我们可以使用符号|表示或,!=表示不等于。> Squid123 <- SquidSquid$Location = 1 |Squid$Location = 2 | Squid$Location = 3 , > Squid123 <- SquidSquid$Location != 4, > Squid123 <- SquidSquid$Location <= 3
15、 , > Squid123 <- SquidSquid$Location >=1 & Squid$Location <= 3, | 表示“或”; &表示“且”; != 表示“不等于”;=为逻辑为/逻辑等于3.2.1 数据排序按月份由低到高排列:> Ord1 <- order(Squid$Month )> Squid Ord1, 3.3 使用相同的标识符组合两个数据集几个不同的数据集,但是每个数据集里都有1个或几个相同的变量,就可以将这几个数据集组合起来。merge函数> setwd( “C:/RBOOK/”)>Sql <
16、;- read.table(file = “squid1.txt”, header = TURE)>Sql <- read.table(file = “squid2.txt”, header = TURE)>SquidMerged <- merge (Sq1, Sq2, by = “Sample”)>SquidMerged merge命令采用两个数据框Sq1和Sq2作为参数,并使用变量Sample作为相同的标识符合并两个数据集。3.4 输出数据write.table函数可以把数字输出到ascii文件。提取雄性数据,并把它输出到文件,MaleSquid.txt>
17、; SquidM <- Squid Squid$Sex = 1 , > write.table (SquidM, File = “MaleSquid.txt” , Sep = “ “, quote = FALSE, append = FALSE, na=”NA” )SquidM 为想输出的变量,或者说文件名Sep = “ “ 保证数据用空格隔开quote = FALSE消除字符串的引号标志na=”NA” 指定缺失值的代替append = FALSE 打开一个新文件函数功能示例write.table把一个变量写入到ascii文件Write.table(Z, file=”test.tx
18、t”)order确定数据的顺序Order(x)merge合并两个数据框merge(x, y, by=”ID”)attach使数据框里的变量可以利用attach(MyData)str显示一个对象的内部结构str(MyData)factor定义变量作为因子factor(x)第4章 简单的函数4.1 tapply函数载入数据,并获取变量的基本信息> setwd (“C:/RBOOK/” ) #设定默认目录> Veg <- read.table (file=”Vegetation2.txt”, header= TRUE ) #将名字为Vegetation2的ascii文件的数据转为V
19、eg的数据框 > names (Veg) #查看Veg内的数据 4.1.1 计算每个时间截面的均值(mean)笨方法以下代码计算了每个截面的平均丰富度和总的平均丰富度> m <- mean (Veg$R )> m1 <- mean ( Veg$R Veg$Transect = 1 )> m2 <- mean ( Veg$R Veg$Transect = 2 )> m3 <- mean ( Veg$R Veg$Transect = 3 )> m4 <- mean ( Veg$R Veg$Transect = 4 )> m5
20、<- mean ( Veg$R Veg$Transect = 5 )> m6 <- mean ( Veg$R Veg$Transect = 6 )> m7 <- mean ( Veg$R Veg$Transect = 7 )> m8 <- mean ( Veg$R Veg$Transect = 8 )> c(m, m1, m2, m3, m4, m5, m6, m7, m8 )4.1.2 更高效地计算每个时间截面的均值tapplytapply只需一行命令即可完成上述命令达到的效果 > tapply (Veg$R, Veg$Transect,
21、 mean)还可以写为:> tapply (X=Veg$R, INDEX=Veg$Transect, FUN=mean)除了求均值,还可以对其求标准差(sd函数)、方差(var函数)、长度(length函数)等> Me <- tapply (Veg$R, Veg$Transect, mean)> Sd <- tapply (Veg$R, Veg$Transect, sd)> Le <- tapply (Veg$R, Veg$Transect, length)> cbind ( Me, Sd, Le)4.2 sapply函数和lapply函数sap
22、ply和lapply函数不用多次输入同一个函数命令 格式如下:> sapply (Veg , 5:9 , FUN= mean)计算5-9这个五个变量的均值tapply计算的是一个变量观察值子集的均值(或其他函数),而lapply和sapply函数计算的是一个或多个变量全部观察值得均值(或其他函数)。FUN后面接要计算的函数lapply和sapply的区别在于输出的不同,> lapply (Veg , 5:9 , FUN= mean)输出的结果的排列不同 lapply函数输出的是一个列表,而sapply函数的输出是一个向量,我们可以根据对输出格式的要求来选择适当的函数。4.3 sum
23、mary函数 summary命令的结果给出了变量的最小值、第一四分位数、中位数、平均值、第三四分位数和最大值。它的参数可以是一个变量、数据框或者cbind命令的输出。> Z <- cbind (Veg$R, Veg$ROCK, Veg$LITTER )> colnnames(Z) <- c (“R”, “ROCK”, “LITTER” )> summary(Z)下面的命令,也可以实现同样的功能:> summary (Weg ,c (“R”, “ROCK”, “LITTER”) )或者 > summary (Weg ,c (5, 6, 7) )4.4 t
24、able函数table函数的作用是用来了解每个农场提供抽样动物的数量,每个性别和年份观察值的数量。> table (Deer$Farm)> table (Deer$Sex, Deer$Year)函数功能示例tapply根据x的不同水平对y使用FUN的函数tapply(y, x, FUN=mean)sapply对y的每一个变量使用FUN的函数sapply(y, x, FUN=mean)lapply对y的每一个变量使用FUN的函数lapply(y, x, FUN=mean)sd计算y的标准差sd(y)length确定y的长度length(y)summary计算基本信息summary(y
25、)table计算列联信息table(x,y)第5章 基础绘图工具简介5.1 plot函数散点图 绘制物种丰富度对底层变量“裸露土壤”记为BARESOIL的图形> setwd (“C:/RBOOK/” )> Veg <- read.table (file = “Vegetation2.txt”, header=TRUE )> plot (Veg$BARESOIL, Veg$R, xlab=”BARESOIL”, ylab=”R” )plot命令的第一个参数显示在水平轴上,第二个参数显示在垂直轴上。首先是因变量(反应变量),其后是自变量(解释变量),习惯上垂直轴绘制反应变量
26、,水平轴绘制解释变量。添加标题和x、y轴标签,以及设置x、y轴坐标界限:> plot <- (x = Veg$BARESOIL, y = Veg$R, xlab = “Exposed soil ”, ylab = “Species richness”, main = “Scatter plot”, xlim = c(0, 45), ylim=c(4, 19 ) )5.2 符号、颜色和尺寸 5.2.1 改变绘图字符 通过pch取不同的值,得到不同的绘图字符 pch共有1-20个不同的取值 以16为例(实心圆)> plot <- (x = Veg$BARESOIL, y =
27、 Veg$R, xlab = “Exposed soil ”, ylab = “Species richness”, main = “Scatter plot”, xlim = c(0, 45), ylim = c(4, 19 ) , pch = 16 )5.2.2 改变绘图符号的颜色 > plot <- (x = Veg$BARESOIL, y = Veg$R, xlab = “Exposed soil ”, ylab = “Species richness”, main = “Scatter plot”, xlim = c(0, 45), ylim = c(4, 19 ) ,
28、pch = 16, col = 2 )colors:2红色 3绿色 5.2.3 改变绘图符号的尺寸 绘图符号的尺寸可以通过cex选项改变 cex的缺省值为1,改为1.5则为原来的1.5倍 > plot <- (x = Veg$BARESOIL, y = Veg$R, xlab = “Exposed soil ”, ylab = “Species richness”, main = “Scatter plot”, xlim = c(0, 45), ylim = c(4, 19 ), pch = 16, cex = 1.5 )5.3 添加一条平滑线 通过使用lines命令在图形上添加合
29、适的平滑线 > plot <- (x = Veg$BARESOIL, y = Veg$R, xlab = “Exposed soil ”, ylab = “Species richness”, main = “Scatter plot”, xlim = c(0, 45), ylim = c(4, 19 )> M.loess <- loess(RBARESOIL, data = Veg)> Fit <- fitted (M.loess)> lines (Veg$BARESOIL, Fit )函数功能示例ploty对x的图形plot(y,x,xlab =
30、”X label”, xlim = c(1),pch = 1, main = ”Main”, ylim = c(0,2), ylab = ”Y label”, col = 1 )lines在已存在的图形上添加线lines(x,y,lwd=3, lty=1, col=1)order确定数据的顺序order(x)loess使用LOESS平滑M<-loess(yx)fitted得到拟合值fitted(M)第6章 循环与函数 假设你有1000个数据集,对于每一个数据集你需要绘制一张图,并把它存为JPEG格式。如果手动完成这个任务将花费很多时间,此时,一个能够不需要人们干涉就能自动执行任意次相同或
31、类似命令的装置就是非常有价值的。循环恰好可以用来解决这种问题,对1000个数据集可以进行这样的处理:i从1变到1000 提取第i个数据集 对于第i个数据集选取适当的图像标签 针对第i个数据集作图 将i个数据集的图像存储起来 循环结束 6.2 循环任务:写一个关于这些数据的报道,并且针对每一个鸟巢绘制一个同胞协商对到达时间的jpeg格式的散点图,现在有27个鸟巢,所以你需要绘制并存储27张图。6.2.1 像建筑师那样设计代码大致步骤:1、载入数据,熟悉变量名,使用read.table,names和str命令; 2、提取一个鸟巢的数据,对于这个子集绘制出同胞协商对到达时间的散点图; 3、添加图像的
32、标题以及x轴和y轴的坐标轴名称。此鸟巢的名字应该包含在主标题中。 4、提取第二个鸟巢的数据,确定需要对原始图像做哪些修改; 5、确定如何将图像存储为jpeg格式;6、写一个可以提取第i个鸟巢数据的循环,使用第i个鸟巢的数据绘制图像,并将其存储为一个具有易识别的名字的jpeg格式图片。6.2.2 第1步:载入数据载入所需数据,给出变量名和它们的状态> setwd(“C:/RBOOK/”)> Owls <- read.table (file= “Owls.txt”, header = TRUE)> names (Owls)> str (Owls)6.2.3 第2步和第
33、3步:绘制散点图并添加标签 弄清楚这个鸟巢的名字:> unique (Owls$Nest) 给出了27个鸟巢的名字 提取一个鸟巢的数据 > Owls.ATV <- Owls Owls$Nest=”AutavauxTV”, 这个鸟巢所提取的数据为Owls.ATV为了绘制散点图,需要提取Owls.ATV中到达时间和协商行为的数据 > Owls.ATV <- Owls Owls$Nest = “AutavauxTV”, > plot ( x = Owls.ATV$ArrivalTime, y = Owls.ATV$NegPerChick, xlab = “Arri
34、val Time”, main = “AutavauxTV” ylab = “Negotiation behaviour” )6.2.4 第4步:设计通用代码 我们将相同的步骤应用于另外一个鸟巢的数据,针对第二个鸟巢,代码只需要做很小的修改> Owls.Bot <- Owls Owls$Nest = “Bochet”, > plot ( x = Owls.Bot$ArrivalTime, y = Owls.Bot$NegPerChick, xlab = “Arrival Time”, ylab = “Negotiation behaviour”, main = “Bochet
35、” )以此类推,剩下还有25个鸟巢,这些命令还要修改25次,简化一下:用Owls.i替换Owls.ATV或者Owls.Bot> Owls.i <- Owls Owls$Nest = “Bochet”, > plot ( x =Owls.i$ArrivalTime, y = Owls.i$NegPerChick, xlab = “Arrival Time”, ylab = “Negotiation behaviour”, main = “Bochet” )但是里面仍然出现了“Bochet”这个具体鸟巢的名字,在处理其他数据集时,需要将它们进行替换,化简,定义一个包含了鸟巢信息的
36、变量Nest.i> Nest.i <- “Bochet”> Owls.i <- Owls Owls$Nest = Nest.i , > plot ( x =Owls.i$ArrivalTime, y = Owls.i$NegPerChick, xlab = “Arrival Time”, main = Nest.i, ylab = “Negotiation behaviour” )如果绘制其他鸟巢的图像,你只需要更改一下代码第一行中鸟巢的名字就可以了,其他地方都会相应地进行更改6.2.5 第5步:保存图像 将图像存储为jpeg文件 1、 选择一个文件名。这个可以是
37、任何名字 2、 通过键入jpeg(file = “AngName.jpg”)打开一个jpeg文件。3、 使用plot命令来绘制图像。由于你键入了jpeg命令,R将把所有的图像存储为jpeg文件,并且图像不出现在屏幕上。4、 通过键入dev.off()关闭jpeg文件。注意:从jpeg(file = “AngName.jpg”)到dev.off()中的所有输出都存储为jpg文件。工作目录与存储目录 如何生成一个文件名随着鸟巢名字(Nest.i)改变而自动变化的文件。需要选择一个包含有鸟巢名字并且扩展名为jpg的文件名。我们用paste来连接:> paste (Nest.i, “.jpg”,
38、 sep = “”)1 “Bochet.jpg” #输出结果paste命令的输出就是一个可以被用来作为文件名的字符串,可以使用一个变量来存储它并且将其应用在jpeg中。我们下面使用变量YourFileName作为文件名,R就将介于jpeg和dev.off命令之间的绘图结果存储到这个文件中。> setwd(“C:/AllGraphs/”)> Nest.i <- “Bochet”> Owls.i <- Owls Owls$Nest = Nest.i , > YourFileName <- paste(Nest.i,“.jpg”, sep = “”)>
39、 jpeg (file = YourFileName)> plot ( x =Owls.i$ArrivalTime, y = Owls.i$NegPerChick, xlab = “Arrival Time”, main = Nest.i, ylab = “Negotiation behaviour” )> dev.off()jpeg函数的帮助文件中还包含了一些函数,用以改善jpeg文件尺寸和质量。6.2.6 第6步:构造循环 R中loop(循环)命令的语法如下:for ( i in 1 : 27 ) do something do something do something 具
40、体应用如下:> AllNests <- unique (Owls$Nest) #对鸟巢的名字使用unique函数,确定其唯一性> for (i in 1 : 27 ) #当i=1时,鸟巢的名字为“AutavauxTV”,以此类推 Nest.i <- AllNests i Owls.i <- Owls Owls$Nest = Nest.i , YourFileName <- paste(Nest.i,“.jpg”, sep = “”) jpeg (file = YourFileName) plot ( x =Owls.i$ArrivalTime, y = Ow
41、ls.i$NegPerChick, xlab = “Arrival Time”, main = Nest.i, ylab = “Negotiation behaviour” ) dev.off() 6.3 函数 函数的基本概念可以描述为,它的输入是一些变量,A、B、C,这些变量可以是向量、矩阵、数据框或者列表,函数执行一些设计好的计算程序,将结果传递给用户。6.3.1 零和空 在执行统计分析前,查找并处理所有的缺失值是非常必要的。对每一个变量制作一个表格来给出它含有缺失值和零的个数。> setwd (“C:/RBOOK/” )> Veg <- read.table (file
42、 = “Vegetation2.txt”, header = TRUE)> names(Veg)NAPerVarible <- function (X1) D1 <- is.na(X1) colSums(D1) > NAPerVarible (Veg, 5:24 ) colSums输出结果是每个变量的缺失值个数;rowSums输出每个观察值缺失值的个数。6.3.2 技术信息 6.3.4 具有多个参数的函数 编写一个既能计算观察值中零值数量的和,也能计算观察值中空值数量的和的函数 VariableInfo <- function (X1, Choice1) if (
43、Choice1 = “Zeros”) D1 = (X1 = 0) if (Choice1 = “NAs”) D1 <- is.na(X1) colsums (D1, na.rm = TRUE)这个函数有两个参数:X1和Choice1 X1包含了数据框,而Choice1是一个包含“零”或者“空”的变量> VariableInfo(Parasite, “Zeros” ) #查找0> VariableInfo(Parasite, “NAs” ) #查找缺失值 > Results <- VariableInfo(Parasite, “Zeros” ) #分配一个变量来存储
44、这个函数的输出结果6.3.5 稳健的函数 做一些事情,使函数变得稳健 6.3.5.1 函数参数中变量的默认值 我们可以给变量Choice1赋一个默认值,这样的话,即使我们在使用中忘记给Choice1赋值,函数也会使用默认值进行计算。函数功能示例jpeg打开一个jpg文件jpeg(file = “AnyName.jpg”)dev.off关闭jpg文件dev.off()function构造一个函数 z<-function(x,y)paste将变量连接为字符串paste(“a”,”b”,sep=”)if条件指令if (a) x<-1ifelse条件指令ifelse(a,x<-1,x<-2)if elseif条件指令if (a) x<-1 elseif (b) x<-2第七章 图形工具 7.1 饼图 pi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 摆地摊教学合同协议书
- 竞业合同协议书模板
- 家政代理合同协议书模板
- 运营和老板合作合同协议书
- 2025年中国纳米水滑石项目创业计划书
- 中国3,3-二甲基-1-丁酸项目创业计划书
- 中国境外油田服务项目创业计划书
- 直播游戏运营方案
- 常熟POCT试剂项目商业计划书
- 病人陪护合同协议书范本
- 2025年山东省青岛大学附属中学九年级中考模拟数学试题
- 《工业网络与组态技术》课程标准
- 中医理疗合同范本
- 小学经典诵读社团活动计划、安排、记录
- 中职高教版(2023)语文基础模块下册-第五单元写作-说明的关键在于说得“明”【课件】
- 手机售后培训方案
- 2025年度全国大学生创新创业竞赛项目保密承诺书3篇
- DB33T 2288-2020 淡水池塘养殖尾水处理技术规范
- GB/T 44880-2024因果矩阵
- 安保工作的多元化发展
- 【MOOC】人格与精神障碍-学做自己的心理医生-暨南大学 中国大学慕课MOOC答案
评论
0/150
提交评论