《R-基础培训-ppt.pdf》由会员分享,可在线阅读,更多相关《R-基础培训-ppt.pdf(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|R:?4g)1n3I R 2010 c 6?14 FR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|Ross Ihaka and Robert GentlemanR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|What is R(I)R HomePageR is GNU S,a freely available language and environ
2、ment forstatistical computing and graphics which provides a widevariety of statistical and graphical techniques:linear andnonlinear modelling,statistical tests,time series analysis,classification,clustering,etc.Our introduction to the R environment did not mention statis-tics,yet many people use R a
3、s a statistics system.We prefer to think of it of an environment within which manyclassical and modern statistical techniques have been im-plemented.From R introductionR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|What is R(II)1R is data analysis software2R is a programming language3R is
4、an environment for statistical analysis4R is an open-source software project5R is a communityR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|*?SAS!SPSS!R?KSAS ProductSPSS ProductR Packagep?SAS/STATSPSS Advanced Modelsstat,MASS:?SASSPSS basebaseLSASBaseReport!SQL,TabulateSPSS Custom Tablesre
5、shape,sqldfSAT/STAT:CorrepSPSS CategoriesMASS,ade4,cocorresp,.?SAS/ACCESSSPSS Data Access PackDBI,foreign,RODBC?$SAS/IMLSAS/IML Work-shopSPSS Matrixmatlab,Matrix,sparseM?Enterprise MinerClementinerattle,arules,FactoMineRGISSAS/GIS,SAS/GraphSPSS Mapmaps,mapdata,mapproj,.mS?SAS/ETSSPSS TrendsExpert Mo
6、d-elerover 40 packages(?SAS/STAT:CalisAmossemEnterprise MinerSPSS Classification Trees,AnswerTreeada,adabag,BayesTree,boost,party,rpart,tree,.R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|R?JJJACM Software System Award(1998)John ChambersThe Statistical Computing and GraphicsAward(2010,BI-
7、annual)ACM Software System Award:1983 Unix1986 TeX1989 PostScript1991 TCP/IP1995 World-Wid-Web1997 Tcl/Tk1998 S1999 The Apache Group2002 JavaR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|R?JJJACM Software System Award(1998)John ChambersThe Statistical Computing and GraphicsAward(2010,BI-a
8、nnual)ACM Software System Award:1983 Unix1986 TeX1989 PostScript1991 TCP/IP1995 World-Wid-Web1997 Tcl/Tk1998 S1999 The Apache Group2002 JavaR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|R?UUU?SR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|R is not.1is not a database,but connect
9、s to DBMSs2language interpreter can be very slow,but allows to callown C/C+code3no spreadsheet view of data,but connects to Excel4has no graphical user interfaces,but connects to Java,TclTkR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|8881R 0002?nnn3999$4?56OOO7kkk?EEE|R:?444ggg)?R 0 Re1S
10、CX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|R 333 Windows eee?R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|CRAN MirrorsR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|SSSCCC999#R1Linux2MacOS X3WindowsR Vz 3?#g?update.packages(checkBuilt=TRUE,ask=FALSE)#orinstall.packages(.packages(all
11、=TRUE)R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|333XXXhelp(topic)?topichelp.search(topic)apropos(topic)help.start()RSiteSearch(topic)R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|?topic?SSSNNN1Description 2Usage%3Arguments 4Details 5Value 6Warning w7Note 58Author(s)9Referen
12、ces z10See Also 11Examples R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|demo()example()R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|Malling lists and the R Journalhttp:/www.r-project.org/mail.htmlhttp:/journal.r-project.org/R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”
13、5k?E|Task ViewsR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|Rcmdr rattleRcmdrCommander()rattlerattle()R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?.packages(all.available=TRUE)1 adabagadaptakima4 amapanimationaplpack7 arulesbaseBayesTree10 biglmbitopsbnlearng1eZ PackagesstatsOgraphic
14、s:grDevices:grid/?utilsR datasets:8methodsu R?a?base:R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|CRAN PackagesR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|source()R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|8881R 0002?nnn3999$4?56OOO7kkk?EEE|R:?444ggg)?R 0 Re1SC
15、X/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|Assign=R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?getwd()1 C:/Documents and Settings/T61 setwd(D:/doc/DataMR/)dir()1 1223344866467.zip articleLiu_article.rar5 slide1slide2R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?x xcardty time110001sale1210002 retur
16、n2310003sale3410004 return4510002sale5610003 return6R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?fL/?6scan(x)l?Ldata(x)1?edit()N?6?U R fix(x)fix N edit?U xR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|Package:foreignFunctions for reading and writing data stored by statisticalpackages
17、such as Minitab,S,SAS,SPSS,Stata,Systat,.,and for reading and writing dBase files.R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?write.csv(x,D:/data.csv,row.names=FALSE)write.table(x,clipboard,sep=t,col.names=NA)#ForExcelR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?m class(NA)1 logical class(T
18、)1 logical is.na(m)1 TRUE1na.omit(x)?”NA,XJ x?,?12na.fail(x)&EXJ x?NAR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?1:10+213456789 10 11 12 1:(10+2)1123456789 10 11 12?S?L seq(from,to)5?)seq(1,5,by=0.5)1 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 seq(1,5,length=11)1 1.0 1.4 1.8 2.2 2.6 3.0 3.4 3.8 4.2 4.
19、6 5.0R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?length(x)1 3 class(x)1 data.frame mode(x)1 list attributes(x)$names1 card tytime$row.names1123456789 10 11 12 13 14 15 16$class1 data.frameR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|aaa.a.1icharactor?2inumeric3?integer?46logical6TRU
20、E=T!FALSE=F5EcomplexE6?LlistS?7ffactoruIP?3 RSk:OPEverything in S is an object;Every object is S has a class.R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|data framedata frame()n)t?8da.?i!f!i?|?a?matrix-likeattachdetachR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?methods(as)1 as.array
21、as.array.default3 as.callas.character5 as.character.conditionas.character.Date7 as.character.defaultas.character.error9 as.character.factoras.character.hexmode11 as.character.numeric_versionas.character.octmode115 as.singleas.single.default117 as.stepfunas.symbol119 as.tableas.table.default121 as.tc
22、lObjas.ts123 as.vectoras.vector.factorR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?3ku 3?xx 3&x 5m(3,5)?xx%in%c(a,and,the)|?R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|II?Lxn?Lw?nxn?L?1 n?xname name?x$name?xi,jeI(i,j)?xi,1 i 1x,j1 j?x,c(1,3)1 1 3?xname,name?1(?e)xname?name?x$nameR:?
23、444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|CCC999which.max(x)which.min(x)rev(x)rle(x)sort(x)match(x,y)which(x=a)R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?set.seed(10)x cut(x,breaks=c(-Inf,-100,-50,0,50,100,Inf)1(0,50(-50,0(-Inf,-100(-100,-505(0,50(0,50(-Inf,-100(-50,09(-Inf,-100(-5
24、0,06 Levels:(-Inf,-100(-100,-50(-50,0.(100,Inf x11.874617-18.425254-137.133055-59.916772529.45451338.979430-120.807618-36.3676029-162.667268-25.647839R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?m for(i in 1:2)+mi m1X1X21 0.60033701.04107882 0.1481331-0.60281662X1X21-0.43253800.434980720.8317534
25、-0.1724106 do.call(cbind,m)X1X2X1X21 0.60033701.0410788-0.43253800.43498072 0.1481331-0.60281660.8317534-0.1724106R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?x unique(x)1 2000 2001 2002 2004 duplicated(x)1 FALSE FALSE FALSETRUE FALSER:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|FFFas
26、.Date()as.POSIXct()d1-c(06/29/07);d2-c(07/02/07)D1-as.Date(d1,%m/%d/%y)D2 format(Sys.Date(),format=%A,%d%B%Y)help(strptime)R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?paste(A,1:6,sep=)1 A1 A2 A3 A4 A5 A6paste(A,1:6,sep=,collapse=)1 A1A2A3A4A5A6R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?st
27、rsplitstrReverse strReverse(c(abc,Statistics)1 cbascitsitatSR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?gsub(ab),1_1_,abc and ABC)1 a_a_b_b_c a_a_nd ABCR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?d apply(d,2,quantile,seq(0,1,by=0.1)x1x20%-1.7786545 0.00269564810%-0.8978897 0.05319181720%-0
28、.6261194 0.14278990830%-0.3419569 0.23880859440%-0.1210771 0.32446380450%0.1200293 0.43225379060%0.3624039 0.50890917570%0.7627071 0.77241524380%0.9944929 0.88143479790%1.5533980 0.949991713100%2.7399503 0.998079380R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?tmp sapply(tmp,coef)LMH(Intercept)44
29、.55556 24.000000 24.555556woolB-16.333334.777778-5.777778R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?head(warpbreaks,3)breaks wool tension126AL230AL354AL tapply(warpbreaks$breaks,+list(warpbreaks$wool,warpbreaks$tension),mean)LMHA 44.55556 24.00000 24.55556B 28.22222 28.77778 18.77778 aggregate
30、(breaks wool+tension,+data=warpbreaks,mean)wool tensionbreaks1AL 44.555562BL 28.222223AM 24.000004BM 28.777785AH 24.555566BH 18.77778R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?xtabs(breaks wool+tension,data=warpbreaks)tensionwoolLMHA 401 216 221B 254 259 169 tapply(warpbreaks$breaks,+list(warp
31、breaks$wool,warpbreaks$tension),sum)LMHA 401 216 221B 254 259 169R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?with(warpbreaks,table(wool,tension)tensionwool L M HA 9 9 9B 9 9 9prop.table(),margin.table()R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|merge(x,y,by=intersect(names(x),name
32、s(y),by.x=by,by.y=by,all=FALSE,all.x=all,all.y=all,sort=TRUE,suffixes=c(.x,.y),incomparables=NULL,.)R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?head(df3)school class timescore1191-0.0105537211011.34242633192-0.353392441102-0.95122615291-1.192748762101-0.5784864 reshape(df3,idvar=c(school,class)
33、,+direction=wide)school classscore.1score.2119-0.0105537-0.353392421101.3424263-0.9512261529-1.1927487-0.45815216210-0.5784864-1.01766999391.6342330-0.5758275103100.68747321.2867034R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|8881R 0002?nnn3999$4?56OOO7kkk?EEE|R:?444ggg)?R 0 Re1SCX/.?n(?
34、9CFi?np?n9$?$?/?O?b?u?“8”5k?E|$I1+,-,%,%/%2=.!=.3sin,cos,tan,asin,acos,atan,log,log10,exp4max(x),min(x)5range(x)6sum(x)7diff(x)8prod(x)9mean(x)10abs(x)11sqrt(x)x0.512median(x)R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|$II1quantile(x,probs=)2IQR(x)3weighted.mean(x,w)4rank(x)5var(x)6cor(
35、x,y)7round(x,n)8log(x,base)9scale(x)10integrate(f,lower,upper)11pmin(x,y,.),pmax(x,y,.)R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|$III1cumsum(x)2cumprod(x)3union(x,y)x y x y4intersect(x,y)x y5setdiff(x,y)x x y6filter(x,filter)7fft(x)8mvfft(x)9convolve(x,y)10.R:?444ggg)?R 0 Re1SCX/.?n(?
36、9CFi?np?n9$?$?/?O?b?u?“8”5k?E|?$t(x)diag(x)?%*%?$solve(a,b)a%*%x=bsolve(a)eigen(x)rowSums(x),colsum(x)rowMeans(x),colMeans(x)dist(x)R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|8881R 0002?nnn3999$4?56OOO7kkk?EEE|R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|666if(test).true st
37、atements.else.false statements.for(var in seq)expr,while(cond)expr,repeatexpr,break,next,ifelseR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|ggg?gg-function(n)a-numeric(n)a1-1a2-1for(i in 3:n)ai gg(9)11147163164 127 256R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|8881R 0002?nn
38、n3999$4?56OOO7kkk?EEE|R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?/?“?ppp”InteractiveXIa?:C5VJ?&ER:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|?4x11X IwwindowsWindows Ipostscriptps pdfpdf pictex LATEX?pngpng?jpegjpeg bmpbmp xfig XFIG?/win.metafileemf?R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?n
39、p?n9$?$?/?O?b?u?“8”5k?E|layoutnf-layout(matrix(c(1,1,1,2,3,4,2,3,4),nr=3,byrow=T)hist(rnorm(25);hist(rnorm(25);hist(rnorm(25);hist(rnorm(25)Histogram of rnorm(25)rnorm(25)Frequency32101012345Histogram of rnorm(25)rnorm(25)Frequency32101230246810Histogram of rnorm(25)rnorm(25)Frequency1.50.50.51.5012
40、3456Histogram of rnorm(25)rnorm(25)Frequency321012301234567R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?library(RColorBrewer)v.col barplot(VADeaths,beside=TRUE,col=v.col,legend.text=row.names(VADeaths)Rural MaleRural FemaleUrban MaleUrban Female50545559606465697074010203040506070R:?444ggg)?R 0 R
41、e1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|8881R 0002?nnn3999$4?56OOO7kkk?EEE|R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?1sample(x,replace=T)sample(x,n)?l x?n sample(x,n,replace=T)?l x?n sample(x,n,replace=T,prob=p)V p?l x?n R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?pnorm(5,3,1)-pnorm(2,3
42、,1)1 0.81859462024680.00.10.20.30.4DensityP(2x5)d:Vq:p:r:T?R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|OOO999R N%betabetashape1(),shape2()?binomsize(n),prob(p)2chisqdf!unifmin(a),max(b)min=0,max=1expraterate=1Ffdf1(r1),df2(r2)gammashape(),scale()scale=1Ahyperm=N1,n=N2,k=n?normmean(),sd(
43、)mean=0,sd=1tpoislamda()ttdf%?weibullshape(),scale()scale=1R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?apropos(.test)1.valueClassTestansari.test3 bartlett.testbinom.test5 Box.testchisq.test7 cor.testfile_test9 fisher.testfligner.test11 friedman.testkruskal.test13 ks.testmantelhaen.test15 mauchl
44、ey.testmauchly.test17 mcnemar.testmood.test19 oneway.testpairwise.prop.test21 pairwise.t.testpairwise.wilcox.test23 poisson.testpower.anova.test25 power.prop.testpower.t.test27 PP.testprop.test29 prop.trend.testquade.test31 shapiro.testt.test33 var.testwilcox.testR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n
45、9$?$?/?O?b?u?“8”5k?E|?.?555?lmglm?.5y model A?L y AC?.model model?Cd+5?d:5LCm?“?p”?+:5L0a+b+a:b0(a+b+c)2 L(a+b+c)(a+b+c)=a!b!c?p L?K(a+b+c)2 a:b L0a+b+c+b:c+a:c03L?Cf?$3?X0log(y)a+log(x)0?.3 update kA?L“3”fm-aov(Speed Run+Expt)fm0-update(fm,.-Run)R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?x y
46、lm.y lm.yCall:lm(formula=y x)Coefficients:(Intercept)x-0.061181.00399 names(lm.y)1 coefficientsresidualseffectsrank5 fitted.values assignqrdf.residual9 xlevelscalltermsmodelR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|FunctionMeaningsummary()summary of the fitted modelcoef()estimated mod
47、el parametersresid()model residuals of the fitted modelfitted()the fitted values of the modeldeviance()residual sum of squaresanova()anova tablepredict()predictionsplot()diagnostic plotR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|8881R 0002?nnn3999$4?56OOO7kkk?EEE|R:?444ggg)?R 0 Re1SCX/.
48、?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|ggg?3 2.5.0?R m-g?U Tabg?R-g TabkU?-?LR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|LATEX?Hmisc?latex()xtable?xtable()quantreg?latex.table()a-matrix(1:6,nr=1)#require(xtable)colnames(a)-paste(col,1:6)xtable(a)R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b
49、?u?“8”5k?E|gggCCC?Progresstestit-function(x=sort(runif(20),.)pb-txtProgressBar(.)for(i in c(0,x,1)Sys.sleep(0.5);setTxtProgressBar(pb,i)Sys.sleep(1)close(pb)testit()R:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|?666eclipseTinn-RRWinEdtEmacsUltraEditR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|Q&AEBlog:http:/www.bjt.nameJump to first slideR:?444ggg)?R 0 Re1SCX/.?n(?9CFi?np?n9$?$?/?O?b?u?“8”5k?E|Q&AEBlog:http:/www.bjt.nameJump to first slide
限制150内