Lecture4 因子、列表、數(shù)據(jù)框、及輸入輸出.ppt_第1頁
Lecture4 因子、列表、數(shù)據(jù)框、及輸入輸出.ppt_第2頁
Lecture4 因子、列表、數(shù)據(jù)框、及輸入輸出.ppt_第3頁
Lecture4 因子、列表、數(shù)據(jù)框、及輸入輸出.ppt_第4頁
Lecture4 因子、列表、數(shù)據(jù)框、及輸入輸出.ppt_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、實驗?zāi)康?實驗內(nèi)容,學(xué)習(xí)S語言中離散變量、混合數(shù)據(jù)的表示方法,1、數(shù)據(jù)表示方法 2、應(yīng)用實例 3、實驗作業(yè),因子、列表、數(shù)據(jù)框,因子(factor)和有序因子,統(tǒng)計中的變量重要類別: 區(qū)間變量和名義變量、有序變量。 區(qū)間變量取連續(xù)的數(shù)值,可以進行求和、平均等運算。 名義變量和有序變量取離散值,既可用數(shù)值代表也可用字符型值,其具體數(shù)值沒有數(shù)量意義,不能用于加減乘除計算而只能用來分類或者計數(shù)。名義變量比如性別、省份、職業(yè),有序變量比如班級名次、質(zhì)量等級。 因為離散變量有各種不同表示方法,在S中為統(tǒng)一起見使用因子(factor)來表示這種分類變量。還提供了有序因子(ordered factor)來表

2、示有序變量。,因子是一種特殊的字符型向量,其中每一個元素取一組離散值中的一個,而因子對象有一個特殊屬性levels表示這組離散值(用字符串表示)。例如: x y y 1 男 女 男 男 女 Levels: 男 女,函數(shù)factor()用來把一個向量編碼成為一個因子。 一般形式為: factor(x, levels = sort(unique(x), na.last = TRUE), labels, exclude = NA, ordered = FALSE),可以自行指定各離散取值水平(levels),不指定時由x的不同值來求得。 labels可以用來指定各水平的標(biāo)簽,不指定時用各離散取值的對

3、應(yīng)字符串。 exclude參數(shù)用來指定要轉(zhuǎn)換為缺失值(NA)的元素值集合。如果指定了levels,則因子的第i個元素當(dāng)它等于水平中第j個時元素值取“j”,如果它的值沒有出現(xiàn)在levels中則對應(yīng)因子元素值取NA。 ordered取真值時表示因子水平是有次序的(按編碼次序)。 可以用is.factor()檢驗對象是否因子,用as.factor()把一個向量轉(zhuǎn)換成一個因子。, x=c(1,0,1,1,0) y=factor(x,levels=sort(unique(x),decreasing=T),labels=c(男, 女),exclude=NA,order=F) y 1 男 女 男 男 女 L

4、evels: 男 女, x=c(1,0,1,1,0,2) y=factor(x,levels=c(1,0), labels=c(男, 女),exclude=NA,order=F) y 1 男 女 男 男 女 Levels: 男 女,因子的基本統(tǒng)計是頻數(shù)統(tǒng)計,用函數(shù)table()來計數(shù)。例如, sex = factor(c(男, 女, 男, 男, 女) res.tab res.tab 男 女 3 2 表示男性3人,女性2人。table()的結(jié)果是一個帶元素名的向量,元素名為因子水平,元素值為該水平的出現(xiàn)頻數(shù)。 S的結(jié)果除了可以顯示外,本身都是S對象(如這里的向量結(jié)果),可以很方便地進一步處理。

5、可以用兩個或多個因子進行交叉分類。比如,性別(sex)和職業(yè)(job)交叉分組可以用table(sex, job)來統(tǒng)計每一交叉類的頻數(shù),結(jié)果為一個矩陣,矩陣帶有行名和列名,分別為兩個因子的各水平名。,因子可以用來作為另外的同長度變量的分類變量。比如,假設(shè)上面的sex是5個學(xué)生的性別,而 h tapply(h, sex, mean) 可以求按性別分類的身高平均值。 這樣用一個等長的因子向量對一個數(shù)值向量分組的辦法叫做不規(guī)則數(shù)組(ragged array)。后面我們還可以看到更多的因子的應(yīng)用。,列表(list)定義,列表是一種特別的對象集合,它的元素也由序號(下標(biāo))區(qū)分,但是各元素的類型可以是任

6、意對象,不同元素不必是同一類型。元素本身允許是其它復(fù)雜數(shù)據(jù)類型,比如,列表的一個元素也允許是列表。 列表元素用“列表名下標(biāo)”的格式引用。 但是,列表不同于向量,我們每次只能引用一個元素,如rec1:2的用法是不允許的。 注意:“列表名下標(biāo)”或“列表名下標(biāo)范圍”的用法也是合法的,但其意義與用兩重括號的記法完全不同,兩重記號取出列表的一個元素,結(jié)果與該元素類型相同,如果使用一重括號,則結(jié)果是列表的一個子列表(結(jié)果類型仍為列表)。, rec = list(name=李明, age=30, scores=c(85, 76, 90) rec $name 1 李明 $age 1 30 $scores 1

7、85 76 90, rec1 $name 1 李明 rec1 1 李明 rec2 $age 1 30 rec2 1 30, rec3 $scores 1 85 76 90 rec3 1 85 76 90 rec31:2 1 85 76 mode(rec1) mode(rec1),在定義列表時如果指定了元素的名字(如rec中的name,age,scores),則引用列表元素還可以用它的名字作為下標(biāo),格式為“列表名元素名”,如: recage 1 30 另一種格式是“列表名$元素名”,如: rec$age 1 30 其中“元素名”可以簡寫到與其它元素名能夠區(qū)分的最短程度,比如“rec$s”可以代表

8、 “rec$score”。 這種寫法方便了交互運行,編寫程序時一般不用簡寫,以免降低程序的可讀性。,使用元素名的引用方法可以讓我們不必記住某一個下標(biāo)代表那一個元素,而直接用易記的元素名來引用元素。事實上,已知向量和矩陣也可以指定元素名、行名、列名。 定義列表使用list()函數(shù),每一個自變量變成列表的一個元素,自變量可以用“名字值”的方式給出,即給出列表元素名。 自變量的值被復(fù)制到列表元素中,自變量如果是變量并不會與該列表元素建立關(guān)系(改變該列表元素不會改變自變量的值)。(例見后),修改列表,列表的元素可以修改,只要把元素引用賦值即可。 如: rec$age rec$age rec$sex r

9、ec6 rec, rec$sex rec6 rec,$name 1 李明 $age 1 30 $scores 1 85 76 90 $sex 1 男 5 NULL 6 1 161, sex rec1 rec1 rec11= 女 rec1 sex,第五號元素因為沒有定義所有其值是“NULL”,這是空對象的記號。 如果rec是一個向量,則其空元素為“NA”,這是缺失值的記號。從這里我們也可以體會“NULL”與“NA”的區(qū)別。 幾個列表可以用連接函數(shù)c()連接起來,結(jié)果仍為一個列表,其元素為各自變量的列表元素。如: list.ABC - c(list.A, list.B, list.C) (注意在S

10、中句點是名字的合法部分,一般沒有特殊意義。),幾個返回列表的函數(shù),列表的重要作用是把相關(guān)的若干數(shù)據(jù)保存在一個數(shù)據(jù)對象中,這樣在編寫函數(shù)時我們就可以返回這樣一個包含多項輸出的列表。 因為函數(shù)的返回結(jié)果可以完整地存放在一個列表中,我們可以繼續(xù)對得到的結(jié)果進行分析,這是S比SAS靈活的一個地方。下面給出幾個返回列表的例子。,一、特征值和特征向量 函數(shù)eigen(x)對對稱矩陣x計算其特征值和特征向量,返回結(jié)果為一個列表,列表的兩個成員(元素)為values和vectors。例如: ev=eigen(1:3)%o%(1:3) ev $values 1 1.400000e+01 9.176554e-16

11、 -1.023391e-15 $vectors ,1 ,2 ,3 1, -0.2672612 0.6067775 0.7485937 2, -0.5345225 0.5530299 -0.6390960 3, -0.8017837 -0.5709457 0.1765328 特征向量按矩陣存放,每一列為一個特征向量。,二、奇異值分解及行列式 函數(shù)svd()進行奇異值分解 自學(xué),三、最小二乘擬合與QR分解 函數(shù)lsfit(x,y)返回最小二乘擬合的結(jié)果。最小二乘的模型為線性模型 lsfit(x,y)的第一個參數(shù)x為模型中的設(shè)計陣 ,第二個參數(shù)y為模型中的因變量y(可以是一個向量也可以是一個矩陣),

12、返回一個列表,成員coefficients為上面模型的最小二乘系數(shù),成員residuals為擬合殘差,成員intercept用來指示是否有截距項,成員qr為設(shè)計陣 的QR分解,它本身又是一個列表。,三、最小二乘擬合與QR分解 關(guān)于最小二乘擬合還可參見ls.diag() 函數(shù)(查看幫助)。 函數(shù)qr(x)返回x的QR分解結(jié)果。矩陣X的QR分解為X=Q*R ,Q為對角線元素都等于1的下三角陣,R為上三角陣。 函數(shù)結(jié)果為一個列表,成員qr 為一個矩陣,其上三角部分(包括對角線)分解的R,其下三角部分(不包括對角線)為分解的Q。其它成員為一些輔助信息。, x=rbind(c(1,2,3),c(4,5,

13、6),c(7,8,9) y=qr(x) y qr.R(y) qr.Q(y) qr.Q(y)%*%qr.R(y), x=rbind(c(1,2,3),c(4,5,6),c(7,8,9) y=qr(x) y $qr ,1 ,2 ,3 1, -8.1240384 -9.6011363 -1.107823e+01 2, 0.4923660 0.9045340 1.809068e+00 3, 0.8616404 0.9954736 -2.220446e-16 $rank 1 2 $qraux 1 1.123091e+00 1.095039e+00 2.220446e-16 $pivot 1 1 2 3

14、attr(,class) 1 qr, qr.R(y) ,1 ,2 ,3 1, -8.124038 -9.601136 -1.107823e+01 2, 0.000000 0.904534 1.809068e+00 3, 0.000000 0.000000 -2.220446e-16 qr.Q(y) ,1 ,2 ,3 1, -0.1230915 0.9045340 0.4082483 2, -0.4923660 0.3015113 -0.8164966 3, -0.8616404 -0.3015113 0.4082483 qr.Q(y)%*%qr.R(y) ,1 ,2 ,3 1, 1 2 3 2

15、, 4 5 6 3, 7 8 9,數(shù)據(jù)框(data.frame),數(shù)據(jù)框是S中類似SAS數(shù)據(jù)集的一種數(shù)據(jù)結(jié)構(gòu)。它通常是矩陣形式的數(shù)據(jù),但矩陣各列可以是不同類型的。數(shù)據(jù)框每列是一個變量,每行是一個觀測。 數(shù)據(jù)框有更一般的定義。它是一種特殊的列表對象,有一個值為“data.frame”的class 屬性,各列表成員必須是向量(數(shù)值型、字符型、邏輯型)、因子、數(shù)值型矩陣、列表,或其它數(shù)據(jù)框。向量、因子成員為數(shù)據(jù)框提供一個變量,如果向量非數(shù)值型則會被強制轉(zhuǎn)換為因子,而矩陣、列表、數(shù)據(jù)框這樣的成員為新數(shù)據(jù)框提供了和其列數(shù)、成員數(shù)、變量數(shù)相同個數(shù)的變量。作為數(shù)據(jù)框變量的向量、因子或矩陣必須具有相同的長度(

16、行數(shù))。 盡管如此,我們一般還是可以把數(shù)據(jù)框看作是一種推廣了的矩陣,它可以用矩陣形式顯示,可以用對矩陣的下標(biāo)引用方法來引用其元素或子集。,數(shù)據(jù)框生成,數(shù)據(jù)框可以用data.frame()函數(shù)生成,其用法與list()函數(shù)相同,各自變量變成數(shù)據(jù)框的成分,自變量可以命名,成為變量名。例如: d=data.frame(name=c(趙, 錢, 孫, 李, 王),age=c(20,21,22,21,20),height= c(170,171,175,165,181),gender=c(男, 女, 男, 女, 男 ) d 如果一個列表的各個成分滿足數(shù)據(jù)框成分的要求,它可以用as.data.frame()

17、函數(shù)強制轉(zhuǎn)換為數(shù)據(jù)框。比如,上面的d如果先用list()函數(shù)定義成了一個列表,就可以強制成為一個數(shù)據(jù)框。 一個矩陣可以用data.frame()轉(zhuǎn)換為一個數(shù)據(jù)框,如果它原來有列名則其列名被作為數(shù)據(jù)框的變量名,否則系統(tǒng)自動為矩陣的各列起一個變量名(如X1,X2)。, d name age height gender 1 趙 20 170 男 2 錢 21 171 女 3 孫 22 175 男 4 李 21 165 女 5 王 20 181 男 d1 name 1 趙 2 錢 3 孫 4 李 5 王, d1 1 趙 錢 孫 李 王 Levels: 李 錢 孫 王 趙 d22:3 1 21 22,數(shù)

18、據(jù)框引用,引用數(shù)據(jù)框元素的方法與引用矩陣元素的方法相同,可以使用下標(biāo)或下標(biāo)向量,也可以使用名字或名字向量。如d1:2, 2:3。數(shù)據(jù)框的各變量也可以用按列表引用(即用雙括號 或$符號引用)。 數(shù)據(jù)框的變量名由屬性names定義,此屬性一定是非空的。數(shù)據(jù)框的各行也可以定義名字,可以用rownames屬性定義。如: names(d) 1 name age height gender rownames(d) 1 1 2 3 4 5, table(d4) 男 女 3 2 table(d4) 男 女 3 2 tapply(d3,d4, mean) 男 女 175.3333 168.0000 tapply

19、(d3,d4, mean) 錯誤在tapply(d3, d4, mean) : 變元的長度必需相同 d3/d2 1 8.500000 8.142857 7.954545 7.857143 9.050000,attach()函數(shù),數(shù)據(jù)框的主要用途是保存統(tǒng)計建模需要的數(shù)據(jù)。S的統(tǒng)計建模功能都需要以數(shù)據(jù)框為輸入數(shù)據(jù)。我們也可以把數(shù)據(jù)框當(dāng)成一種矩陣來處理。 在使用數(shù)據(jù)框的變量時可以用“數(shù)據(jù)框名$變量名”的記法。但是,這樣使用較麻煩,S提供了attach()函數(shù)可以把數(shù)據(jù)框“連接”入當(dāng)前的名字空間。例如, attach(d) r d$r - height / age這樣的格式。 為了取消連接,只要調(diào)用d

20、etach()(無參數(shù)即可)。,注意:S和R中名字空間的管理是比較獨特的。它在運行時保持一個變量搜索路徑表,在讀取某個變量時到這個變量搜索路徑表中由前向后查找,找到最前的一個;在賦值時總是在位置1賦值(除非特別指定在其它位置賦值)。 attach()的缺省位置是在變量搜索路徑表的位置2 ,detach()缺省也是去掉位置2。 所以,S編程的一個常見問題是當(dāng)你誤用了一個自己并沒有賦值的變量時有可能不出錯,因為這個變量已在搜索路徑中某個位置有定義,這樣不利于程序的調(diào)試,需要留心。 attach()既可以連接數(shù)據(jù)框,也可以連接列表。,輸入輸出,輸出 在S交互運行時要顯示某一個對象的值只要鍵入其名字即

21、可 這實際上是調(diào)用了print()函數(shù),即print(x)。在非交互運行(程序)中應(yīng)使用print()來輸出。print()函數(shù)可以帶一個digits=參數(shù)指定每個數(shù)輸出的有效數(shù)字位數(shù),可以帶一個quote= 參數(shù)指定字符串輸出時是否帶兩邊的撇號,可以帶一個print.gap=參數(shù)指定矩陣或數(shù)組輸出時列之間的間距。 print()函數(shù)是一個通用函數(shù),即它對不同的自變量有不同的反應(yīng)。對各種特殊對象如數(shù)組、模型結(jié)果等都可以規(guī)定print的輸出格式。,cat()函數(shù)也用來輸出,但它可以把多個參數(shù)連接起來再輸出(具有paste()的功能)。例如: cat(i = , i, n) 注意使用cat()時要

22、自己加上換行符“n”。它把各項轉(zhuǎn)換成字符串,中間隔以空格連接起來,然后顯示。 如果要使用自定義的分隔符,可以用sep=參數(shù),例如: cat(c(AB, C), c(E, F), n, sep=) ABCEF cat()還可以指定一個參數(shù)file=給一個文件名,可以把結(jié)果寫到指定的文件中,如: cat(i = , 1, n, file=c:/work/result.txt),如果指定的文件已經(jīng)存在則原來內(nèi)容被覆蓋。加上一個append=TRUE參數(shù)可以不覆蓋原文件而是在文件末尾附加,這很適用于運行中的結(jié)果記錄。 cat()函數(shù)和print()都不具有很強的自定義格式功能,為此可以使用cat()與

23、format() 函數(shù)配合實現(xiàn)。format()函數(shù)為一個數(shù)值向量找到一種共同的顯示格式然后把向量轉(zhuǎn)換為字符型。例如: format(c(1, 100, 10000) 1 1 100 10000 S-PLUS中的format()函數(shù)功能較強,具有較多的控制參數(shù),請參見幫助。 R中目前format() 函數(shù)功能仍較弱,但R有一個formatC函數(shù)可以提供類似C語言的printf格式功能。formatC對輸入向量的每一個元素單獨進行格式轉(zhuǎn)換而不生成統(tǒng)一格式,例如: formatC(c(1, 10000) 1 1 1e+004,在formatC()函數(shù)中可以用format=參數(shù)指定C格式類型,如“d

24、”(整數(shù)),“f”(定點實數(shù)),“e”(科學(xué)記數(shù)法),“E”, “g”(選擇位數(shù)較少的輸出格式),“G”, “fg”(定點實數(shù)但用digits 指定有效位數(shù)),“s”(字符串)。 可以用width指定輸出寬度,用digits指定有效位數(shù)(格式為e,E,g,G,fg時)或小數(shù)點后位數(shù)(格式為f)時??梢杂胒lag參數(shù)指定一個輸出選項字符串,字符串中有-表示輸出左對齊,有0表示左空白用0填充,有+表示要輸出正負(fù)號,等等。例如,我們有一個矩陣da中保存了三個日期的年、月、日: da ,1 ,2 ,3 1, 99 1 3 2, 96 11 9 3, 65 5 18,為了輸出這三個日期,可以用apply

25、函數(shù)指定對每一行作用一個輸出函數(shù),此輸出函數(shù)利用cat()和formatC來控制: apply(da, 1, function(r) cat(formatC(r1, format=d, width=2, flag=0), -, formatC(r2, format=d, width=2, flag=0), -, formatC(r3, format=d, width=2, flag=0), n, sep=) 99-01-03 96-11-09 65-05-18 NULL 這里我們知道apply函數(shù)第一個參數(shù)指定了一個矩陣,第二個參數(shù)說明對行操作還是對列操作,第三個參數(shù)是一個函數(shù),這里我們使用了

26、直接定義一個函數(shù)作為參數(shù)的辦法。輸出結(jié)果中多了一個NULL函數(shù),這是因為我們在交互運行,apply的結(jié)果作為一個表達(dá)式的值(NULL )會被顯示出來。 為避免顯示,可以把結(jié)果賦給一個臨時變量名,或者把整個表達(dá)式作為invisible() 函數(shù)的參數(shù),這時不顯示表達(dá)式值。,S的輸出缺省顯示在交互窗口??梢杂胹ink()函數(shù)指定一個文件以把后續(xù)的輸出轉(zhuǎn)向到這個文件,并可用append參數(shù)指定是否要在文件末尾附加: sink(“E:/work/result.txt, append=TRUE) ls() d sink() 調(diào)用無參數(shù)的sink()把輸出恢復(fù)到交互窗口。,Write(t(x),file=

27、文件名,nol=nol(x)把一個矩陣X輸出到文件中,把X轉(zhuǎn)置后輸出因為R中矩陣是列優(yōu)先的,如果不轉(zhuǎn)置則輸出是按列輸出的。如果不指定列數(shù)則缺省使用5列。文件名缺省用data. Write.table(x,file=文件名)把數(shù)據(jù)框X輸出到文件中,輸出包括變量名表頭和行名。,輸入,為了從外部文件讀入一個數(shù)值型向量,S提供了scan()函數(shù)。如果指定了file參數(shù)(也是第一參數(shù)),則從指定文件讀入,缺省情況下讀入一個數(shù)值向量,文件中各數(shù)據(jù)以空白分隔,讀到文件尾為止。例如: cat(1:12, n, file=E:/work/result.txt) x y - matrix(scan(E:/work

28、/result.txt), ncol=3, byrow=T),實際上,scan()也能夠讀入一個多列的表格,只要用what參數(shù)指定一個列表,則列表每項的類型為需要讀取的類型。用skip參數(shù)可以跳過文件的開始若干行不讀。用sep參數(shù)可以指定數(shù)據(jù)間的分隔符。詳見幫助。 scan()不指定讀取文件名時是交互讀入,讀入時用一個空行結(jié)束。 如果要讀取一個數(shù)據(jù)框,S提供了一個read.table()函數(shù)。它只要給出一個文件名,就可以把文件中用空白分隔的表格數(shù)據(jù)每行讀入為數(shù)據(jù)框的一行。比如,文件E:d.txt 中內(nèi)容如下: Zhou 15 3 “Li Ming” 9 李明 Zhang 10.2 Wang,用

29、read.table讀入: x x V1 V2 V3 1 Zhou 15 3 2 Li Ming 9 李明 3 Zhang 10.2 Wang 讀入結(jié)果為數(shù)據(jù)框。 函數(shù)可以自動識別表列是數(shù)值型還是字符型,并在缺省情況下把字符型數(shù)據(jù)轉(zhuǎn)換為因子(加上as.is=T可以保留字符型不轉(zhuǎn)換)。 函數(shù)自動為數(shù)據(jù)框變量指定“V1 ”、“V2”這樣的變量名,指定“1”、“2”這樣的行名??梢杂胹參數(shù)指定一個字符型向量作為數(shù)據(jù)框的變量名,用s參數(shù)指定一個字符型向量作為數(shù)據(jù)框的行名。,read.table()可以讀入帶有表頭的文件,只要加上header=TRUE參數(shù)即可。可以用se

30、p 參數(shù)指定表行各項的分隔符。例如,為了讀入如下帶有表頭的逗號分隔文件E:d.csv: Name,score, cn Zhou,15,3 Li Ming, 9, 李明 Zhang, 10.2, Wang 使用如下語句: x=read.table(E:/d.csv, header=T, sep=,) x Name score cn 1 Zhou 15.0 3 2 Li Ming 9.0 李明 3 Zhang 10.2 Wang 其它一些用法見幫助。,cl =read.table(E:/R/class.txt, as.is=c(1), s=c(Name, Sex, Age, Hei

31、ght, Weight); cat(names(cl),names(cl); class.data=read.table(E:/R/class.csv,header=T,sep=,); cat(names(class.data),names(class.data); Edata = read.table(E:/R/Employee data.csv,header=T,sep=,) cat(names(Edata),names(Edata);,read.spss package:foreign R Documentation Read an SPSS data file Description:

32、 read.spss reads a file stored by the SPSS save and export commands and returns a list. Usage: read.spss(file, use.value.labels=TRUE, to.data.frame=FALSE, max.value.labels=Inf, s=FALSE) Arguments: file: character variable with the name of the file to read. use.value.labels: Convert v

33、ariables with value labels into R factors with those levels? to.data.frame: return a data frame? max.value.labels: Only variables with at most this many unique values will be converted to factors s: Trim trailing spaces from factor levels?,Details: This uses modified code from the PS

34、PP project for reading the SPSS formats. Occasionally in SPSS value labels will be added to some values of a continuous variable (eg to distinguish different types of missing data), and you will not want these variables converted to factors. By setting max.val.labels you can specify that variables with a large number of distinct values are not converted to factors even if they have value labels. In addition, variables will not be converted to factors if there are non-missing values that have no value label. The value labels are then returned in the value.labels attribute of the variable. If

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論