文章标题

来源:互联网 发布:树莓派gpio编程python 编辑:程序博客网 时间:2024/05/18 03:00

R
操作数据框的时候,在每个变量名前都键入一次数据框名称(eg: dataframe) dataframe$ 可能会让人生厌,所以不妨走一些捷径。可以联合使用函数attach()和detach()函数或单独使用with()函数来简化代码。
- attach() 和 detach()
attach() 可将数据框添加到R的搜索路径中。
eg: 有一个数据框dataframe有两列,一列名为name,第二列名为age

summary(dataframe$age)plot(dataframe$name,dataframe$age)

可简化代码为:

attach(dataframe)summary(age)plot(name,age)detach(dataframe)

函数detach()将数据框从搜索路径中移除,值得注意的是,detach()并不会对数据框本身做任何处理。这句可以省略的,但其实它应当被例行的放入代码中,因为这是一个好的编程习惯。
当名称相同的对象不止一个时,这种方法的局限性就非常明显。即:在数据框被绑定前,若环境中已经有一个与列名同名的对象,在这种情况下,原始对象将取得优先权。任何情况下,都要当心那些告知你某个对象已被屏蔽(masked)的警告。
使用with()函数可取代attach()和detach()两个函数

with(dataframe,{       summary(age)       plot(name,age)})

with()函数的局限性在于,赋值仅仅在此函数括号内生效,为了避免,可使用如下代码:

with(dataframe,{       summary <<-summary(age)       plot <<- plot(name,age)})
  • R中基本的数学函数
abs()   取绝对值sqrt()  平方根,与x^(0.5)等价ceiling()  不小于x的最小整数floor()  不大于x的最大整数trunc()  向0的方向截取的x中的整数部分round(x,digits=n)x舍入为指定位的小数signif(x,digits=n)x舍入为指定的有效数字位数log(x)  自然对数log10(x)  常用对数   log(x,base=n)xn为底的对数exp(x)  指数函数
  • R中常用统计函数
 mean(x)   平均数 median(x)  中位数 sd(x)   标准差 var(x)   方差 quantile(x,probs)   求中位数  eg.   quantile(x,c(.3,.84))   #求x的30%和84%分位点 scale(x,center=TRUE,scale=TRUE)  为数据对象x按列进行中心化(center=TRUE)或标准化(center=TRUE,scale=TRUE

-R中常用字符处理函数

nchar(x)  计算x中的字符数量substr(x,start,stop)  提取或者替换一个字符向量的子串grep(pattern, x , ignore.case = FALSE , fixed=FALSE)  在x中搜索某种模式。若fixed=FALSE,则pattern为一个正则表达式,若fixed=TRUE,则pattern为一个文本字符串。返回值为匹配的下标sub(pattern , replacement , x , ignore.case=FALSE , fixed=FALSE)  在x中搜索pattern,并以文本replacement将其替换,若fixed=FALSE,则pattern为一个正则表达式。若fixed=TRUE,则pattern为一个文本字符串 eg. sub("\\s",".","Hello There")  返回值为Hello.There   #注意,"\s" 是一个用来查找空白的正则表达式,使用"\\s"而不是"\"的原因是,后者是R中的转义字符strsplit(x,split,fixed=FALSE)   在split处分割字符向量x中的元素,若fixed=FALSE,则pattern为一个正则表达式。若fixed=TRUE,则pattern为一个文本字符串eg. y <- strsplit("abc",'')  将返回一个含有一个成分、三个元素的列表,包含的内容为"a","b","c"   ##对付这样的list,取其元素最简单的办法  unlist(y)[2]paste("x1","x2",...,sep='')eg. paste("Today is",date())  返回值为“Today is Thu Jun 25 14:17:32 2011”toupper(x)   大写转换tolower(x)    小写转换
  • R其他函数
  length(x)    对象x的长度  seq(from,to,by)  生成一个序列  rep(x,n)   将x重复n次  cut(x,n)   将连续变量x分割为有着n个水平的因子,使用选项ordered_result=TRUE以创建一个有序型因子  pretty(x,n)   创建美观的分割点。通过选取n+1个等艰巨的取整值,将一个连续型变量x分割为n个区间,绘图中常用。  cat(...,file="myfile",append=FALSE)   连接...中的对象,并将其输出到屏幕上或文件中(如果声明了一个的话)   eg. firstname <- c("Jane")    cat("Hello",firstname,"\n")

Quotes of R

0 0