R语言入门_第十章、十一章、十二章

时间:2025-03-15

第十章输入与输出

1、输出到显示器scan(file="",what=double,sep="")函数:可以从 文件中读取或者用键盘键入一个向量。可以看出, scan()的默认模式为double,默认间隔符为空格, 使用时可根据具体情况修改,但遇到字符和数值 混合的数据框,scan()就只能把所有内容统一为 字符格式。scan("1.txt") Read 8 items [1] 1 21 2 22 3 23 4 24 > scan("a.txt") #a中内容不是数值,出错 Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : scan() expected 'a real', got 'a' > scan("a.txt",what="") #把模式改为字符型,即可输出 Read 3 items [1] "a" "bc" "de"

此外,scan()可以从键盘读取数据,但似乎作用不大v<-scan("") 1: 12 5 13 4: 3 4 5 7: 8 8: Read 7 items

#键入一个空行表示写入结束

readline(prompt = "" )#readline reads a line from the terminal (in interactive use). 功能是键入单行数据,可 指定提示语。inputsh<-readline("input your initials: ") input your initials: hello > inputsh [1] "hello"

cat(... , file = "", sep = " ") :既有输出功能, 也有写入功能,但不支持列表和数据框,而矩 阵则被转化为向量。 输出时要注意设置换行,cat没有自动换行功 能。 当然,print(x)也有输出功能,并有计算表达式 值的功能ha<-c("a","bc") > ha [1] "a" "bc" > print(ha) [1] "a" "bc" > x<-c(1,2,3) > print(x^2) [1] 1 4 9

2、读取文本文件(读出来的都是数据框) read.table(file="",header=FALSE):txt格式 read.csv(file="",header=FALSE):csv格式,表格 excel也可以读取,不过相对麻烦 需要安装RODBC和XML包,然后用channel<odbcConnectExcel(file="")建立连接,最后用 sqlFetch(channel,"SheetXX")读取 source(file=".R"),读取脚本文件

R也可以读取远程计算机上的文件uci<-"http://archive.ics.uci.edu/ml/machine-learning-databases/" > uci<-paste(uci,"echocardiogram/echocardiogram.data",sep="") > ecc<-read.csv(uci) > head(ecc) X11 X0 X71 X0.1 X0.260 X9 X4.600 X14 X1 X1.1 name X1.2 X0.2 1 19 0 72 0 0.380 6 4.100 14 1.700 0.588 name 1 0 2 16 0 55 0 0.260 4 3.420 14 1 1 name 1 0 3 57 0 60 0 0.253 12.062 4.603 16 1.450 0.788 name 1 0 4 19 1 57 0 0.160 22 5.750 18 2.250 0.571 name 1 0 5 26 0 68 0 0.260 5 4.310 12 1 0.857 name 1 0 6 13 0 62 0 0.230 31 5.430 22.5 1.875 0.857 name 1 0

3、写文件 cat(x,file="",sep=""),前面提过 write.table(x,file=""),写入格式为txt write.csv(x,file=""),写入格式为csv

第十一章字符串操作R语言的核心是数值向量和矩阵,但在文本挖掘中, 字符串有大量应用,因此,R中有大量字符串操作工 具。

1、函数介绍 grep(pattern,x) #在字符串向量x中搜索给定的字符 串pattern,并返回索引。grep("Pole",c("Equa","North Pole","South Pole")) [1] 2 3 grep("the",scan("aa.txt",what="")) #scan()读取的也是向量,不过当 内容不是数值型时,要注意转化为字符串 Read 7 items [

1] 1 4 5

nchar(x) #返回字符串长度,可一次返回多个但要注 意用c,即连接a<-"Soutn Pole" > nchar(a) [1] 10 > a<-"SoutnPole" > nchar(a) [1] 9 > b<-c("ab","cde") > nchar(b) [1] 2 3 nchar(a,b) Error in nchar(a, b) : invalid 'type' argument nchar(c(a,b)) [1] 9 2 3

paste(x,y…,sep="") #拼接多个字符串,并返回一个长 字符串paste(a,b,sep="") #b中有两个元素,直接拼接a、b会把a和b的两个元 素分别拼接 [1] "SoutnPoleab" "SoutnPolecde" > paste(a,"xy","z",sep="") [1] "SoutnPolexyz" > paste(a,"xy","z",sep=" ") [1] "SoutnPole xy z"

> paste(a,"xy","z",sep=",") [1] "SoutnPole,xy,z"

sprintf(…%..,...):按一定格式组合若干组件为字符串 sprintf("%f", pi)#默认情况的双精度 sprintf("%x.3f", pi)#保留三位小数,最多占x位,x为正表 示空格在前 sprintf("%d",5)#默认情况的整型sprintf("%1.2f", pi) [1] "3.14" > sprintf("%.2f", pi) [1] "3.14" > sprintf("%10.1f", pi) [1] " 3.1" > sprintf("%1.5f", pi) [1] "3.14159" > sprintf("%d",5) [1] "5" i<-8 s<-sprintf("the square of %d is %d",i,i^2)s [1] "the square of 8 is 64"

substr(x,start,stop):返回字符串x中注定位置范围上 的子字符串 substring(x,start,stop):类似substr,但更强大substr("equator",3,5) [1] "uat" > substring("equator",3,5) [1] "uat" > substr("equator",3,5:7) [1] "uat" > substring("equator",3,5:7) [1] "uat" "uato" "uator"

strsplit(x,split="") #根据x中的字符串split拆分xstrsplit("2-27-2014","-") [[1]] [1] "2" "27" "2014"

regexpr(pattern,x)#在字符串x中检索pattern,返回 与pattern匹配的第一个子字符串的起始字符位置regexpr("uate","equater") #匹配起始位置 [1] 3 attr(,"match.length") #匹配长度,不匹配则返回-1 [1] 4 attr(,"useBytes") [1] TRUE

gregexpr(pattern,x),功能类似regexpr,但更强大, 能返回所有与pattenr匹配的字符串的起始位 …… 此处隐藏:1732字,全部文档内容请下载后查看。喜欢就下载吧 ……

R语言入门_第十章、十一章、十二章.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219