1、使用选项 options(show.error.messages = F) 可以关闭错误信息提示。class(x) # error msg: Error: object x not foundoptions(show.error.messages = F)class(x)123使用 file.path() 创建(使用)文件路径,这可以保证在不同系统下都适用。setwd(file.path(F:, gitroxygen2)1在对字符串排序的时候,如果需要对数字也能排序,可以使用 gtools 包中的 mixedsort(),效果与 sort() 不一样。Treatment - c(Control
2、Asprin 10mg/dayAsprin 50mg/dayAsprin 100mg/dayAcetomycin 100mg/dayAcetomycin 1000mg/day)sort(Treatment)require(gtools)mixedsort(Treatment)1234在绘图的时候使用 ylim = range(myNumericData) + 10 可以调整 Y 轴绘图范围,可以使用倍数或者区间值。x - seq(1:10)set.seed(1101)y - 10*rnorm(10)plot(x, y)plot(x, y, ylim = 1.25*range(y)12345使用
3、 plot() 绘图时,可以使用 las 参数调整坐标轴标签(数字)的显示方向,las 取值 0,1,2,3,对应的对齐方式为 平行于轴(默认),水平(这个不错),垂直于轴,垂直。plot(x, y, las = 1)plot(x, y, las = 2)12关于高阶回归分析的使用情境的汇总参看:Use memory.limit(size=2500) 限制 R 占用内存。alarm() 函数可以添加到我们函数、过程的末尾,用以提示工作完成进度。(注意:RStudio 中无效)for (i in 1:5) Sys.sleep(1)alarm()1234eval(parse(text=paste(
4、“a eval(parse(text=paste(a - 10)a12sessionInfo() 可以获取 R 的版本、环境信息,以及加载的包的信息。sessionInfo()1计算从 word1 到 word2 所需要的变化可以使用 adist(word1, word2).adist(hello worldhello wordx)1使用选项 options(max.print=1000000) 可以增加控制台的信息显示的行数。options(max.print=1000000)1如何检测时间序列中的奇异值? detection-in-a-time-series( detection-in-a
5、-time-series)如果有多个 R 会话,每个 R 的唯一 id 可以用 Sys.getpid() 获取。Sys.getpid()1可以使用 unname() 去除 R 对象的名称属性。- quantile(mtcars$mpg)unname(y)12检验两个对象(x 和 y)是否一致使用 identical(x, y),使用 all.equal 会比较各种属性是否一致。- c(1, 2)- as.vector(x)identical(x, y)all.equal(x, y)y2 - c(y, 3)all.equal(x, y2)123456使用 R 获取 Twitter 推文(用于文本
6、分析)。关于时间序列分析简短的介绍:当某个步骤运行的时间太长(超过预先设定的时间),可以使用 R.utils 包中的 withTimeout() 打断,然后跳到下一个步骤继续运行。可以使用 dist() 计算矩阵行与行之间的距离(默认是欧氏距离)。- matrix(seq(1:20), ncol = 4, byrow = FALSE)dist(x, method = euclidean, upper = TRUE)12计算向量的(多重)差分可以使用 diff()- c(seq(1:5), seq(from = 1, to = 9, by = 2)diff(x, 2) 12选项 options(
7、scipen=999) 可以关闭数字科学记数法显示。1e-5options(scipen=999)1e-5123earth 包中的 bagEarth() 可以用来做 Bagged MARS (多元适应性回归平滑)可以使用 setClass(myClass) 定义一个类型 myClass,setAs() 可以做进一步的自定义。创建大量的变量可以使用 assign (“varName”, 10),原因在于,我们可以向 varName 传递变量名(比如用循环),方便编程。assign(x, 10)1dim(matrix) 返回的是矩阵的行数与列数。my.Matrix - matrix(1:20, n
8、col = 4)dim(my.Matrix)12两个编写函数的技巧:1. 使用 传递已有函数的参数。2. 使用 invisible 隐藏输出。视频参看:使用 data.matrix() 可以将一个数据框转为数值矩阵,并且因子类型也会得到正确的转化。invisible(.) 可以不显示输出,在定义函数的时候经常使用到。cat(“014”) 能清空 R 会话中的内容(类似于 CTRL + L 清屏,还是蛮有用的)。cat(014dir(“folder.path”) 会显示文件夹内的内容,类似于 cmd。dir()dir(subfolder.path)12在一个因子变量中如果存在缺失值,建议将缺失值
9、做成一个因子等级 UNKNOWN,可以使用 levels(Var) my.Factor FirstSecondThird, NA)levels(my.Factor) -c(levels(my.Factor), UNKNOWNmy.Factor123初始化所有加载的包可以使用 lapply(x, require, character.only = T),其中 x 为包的名称。lapply(c(dplyrtidyr), require, character.only = T)1rev() 函数可以将一个向量翻转过来。x 200 - NAmtcarsmtcars2 - mtcarscomplete.
10、cases(mtcars), mtcars21234nnet 包中的 avNNet() 可以用来做 Averaged 神经网络模型。file.remove(filepath) 可以用来删除文件夹中的文件,如果我们要删除重复性的中间文件,可以用它来实现。file.create(tempfile.Rfile.remove(ada 包中的 ada() 函数可以用来做 Boosted 分类树问题。unclass() 可以将 lm 对象拆散成列表(list),方便我们获取未被显示的元素。mod col1,dfcol1,dfcol2), mtcarsorder(mtcars$carb, mtcars$hp
11、), 12将一个 N 阶因子变量转为 N 个 0-1 变量最简单的方式是 model.matrix(as.factor(Data)+0)model.matrix(as.factor(mtcars$carb)+0)1对一个时间序列去季节趋势可以使用 seaadj():http:/goo.gl/Oio7s2.在一个函数内对函数外的变量的赋值使用 在 Windows 中,使用 memory.limit(size=desired-size) 可以限制 R 使用内存的大小,其他操作系统,使用 mem.limits()。使用 file.copy(from=fromFile, to = toFile, ov
12、erwrite = TRUE) 可以实现文件的复制。debugonce() 可以调试一次代码,它与 debug() 的区别是无需使用 undebug() 跳出调试。在 R 中,将一个因子类型的变量(factor)转化为一组 0/1 虚拟变量可以使用 bins arules 包中的 discretize() 函数可以很方便的将一个连续变量转为分类变量(categorical)。NROW() 类似于 nrow(),不过前者对向量也适用,相比 length() 更具有鲁棒性。在 R 里面输入 commandArgs(),将会返回使用 cmd 运行 R 脚本所需要传递的参数。在函数内使用 attr(myFunc, “AttrName”) object.size() 可以得到给定 R 对象所消耗的内存。当我们处理比较大的 R 项目的时候,可以使用 ls.str() 查看这些 R 对象的结构信息。dir(path=dir_path) 将会列出 dir_path 下的所有文件及文件夹。library(help = libname) 会显示 libname 这个包的所有函数以及所带的数据集。(前提是必须安装了这个包)install.p
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1