资源描述:
《reilly media] r cookbook some basics》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、CHAPTER2SomeBasicsIntroductionTherecipesinthischapterliesomewherebetweenproblem-solvingideasandtutorials.Yes,theysolvecommonproblems,buttheSolutionsshowcasecommontechniquesandidiomsusedinmostRcode,includingthecodeinthisCookbook.IfyouarenewtoR,Isuggestskimmingthischaptertoacquaintyourselfwiththese
2、idioms.2.1PrintingSomethingProblemYouwanttodisplaythevalueofavariableorexpression.SolutionIfyousimplyenterthevariablenameorexpressionatthecommandprompt,Rwillprintitsvalue.Usetheprintfunctionforgenericprintingofanyobject.Usethecatfunctionforproducingcustomformattedoutput.DiscussionIt’sveryeasytoas
3、kRtoprintsomething:justenteritatthecommandprompt:>pi[1]3.141593>sqrt(2)[1]1.414214Whenyouenterexpressionslikethat,Revaluatestheexpressionandthenimplicitlycallstheprintfunction.Sothepreviousexampleisidenticaltothis:23>print(pi)[1]3.141593>print(sqrt(2))[1]1.414214Thebeautyofprintisthatitknowshowto
4、formatanyRvalueforprinting,includingstructuredvaluessuchasmatricesandlists:>print(matrix(c(1,2,3,4),2,2))[,1][,2][1,]13[2,]24>print(list("a","b","c"))[[1]][1]"a"[[2]][1]"b"[[3]][1]"c"Thisisusefulbecauseyoucanalwaysviewyourdata:justprintit.Youneedn’twritespecialprintinglogic,evenforcomplicateddata
5、structures.Theprintfunctionhasasignificantlimitation,however:itprintsonlyoneobjectatatime.Tryingtoprintmultipleitemsgivesthismind-numbingerrormessage:>print("Thezerooccursat",2*pi,"radians.")Errorinprint.default("Thezerooccursat",2*pi,"radians."):unimplementedtype'character'in'asLogical'Theonlywa
6、ytoprintmultipleitemsistoprintthemoneatatime,whichprobablyisn’twhatyouwant:>print("Thezerooccursat");print(2*pi);print("radians")[1]"Thezerooccursat"[1]6.283185[1]"radians"Thecatfunctionisanalternativetoprintthatletsyoucombinemultipleitemsintoacontinuousoutput:>cat("Thezerooccursat",2*pi,"radians
7、.","")Thezerooccursat6.283185radians.Noticethatcatputsaspacebetweeneachitembydefault.Youmustprovideanewlinecharacter()toterminatetheline.Thecatfunctioncanprintsimplevectors,too:>fib<-c(0,1,1,2,3,5,8,13,21,34)>cat("