1.list.files 遍历文件夹中的文件
list.files(getwd())
list.files(getwd(),pattern ="*.[R|v]$") ###可以匹配正则表达式
2.避免使用的变量名
可规范:公司名(NG)加下划线:如 NG_books NG_function;
可用get()函数查询变量名,看是否有返回值,get('c')
3.数据框转成矩阵
如果数据框中的数据类型一致,可用as.matrix转为矩阵
df <- data.frame(col1=c(1,2,4,3),col2=c(3,6,1,3))
class(df)
mat <-as.matrix(df)
class(mat)
4.删除向量中符合条件的元素
Vec <- c(1,3,5,2,4,2,1)
Vec[Vec!=1] ###取出不为1的元素
Vec[-which(Vec==1)] ###删除等于1的元素
5.不带常数项(截距项)的回归
R中的lm()函数是默认包含常数项的,可以通过加0或者减1来实现不带常数项:
lm(formula = mpg~cyl,data=mtcars) ###包含常数项
lm(formula = mpg~cyl+0,data=mtcars) ###不含
lm(formula = mpg~cyl-1,data=mtcars) ###有无常数项结果R2差距有点大,根据实际情况
6.R操作界面中英文切换
安装目录的etc文件夹中找到Rconsole文件,找到末尾两行,将language改为en即可,zh_CN可改回中文。
7.用sample函数实现随机抽样
sample(x, size, replace = FALSE, prob = NULL)
第一个参数x:被抽取的向量
第二个参数size:抽取的个数
第三个参数replace:是否有放回,默认不放回
Vec <-c(1:10)
sample(x=Vec,size=10)
sample(x=Vec,size=10,replace=TRUE) ###有放回
当第二个参数的大小等于向量的长度时候,就能实现随机抽样
8.设定输出数据的小数点数
options(digits=n) ###n为位数
signif(x,digits=n)
round(x,digits=0)
9.随机从数据框(矩阵)抽取一部分数据
(col.name=colnames(mtcars))
(row.name=rownames(mtcars))
(sam.raw.name=sample(row.name,10,replace=FALSE)) ###行名向量不放回抽样
(sam.col.name=sample(col.name,10,replace=FALSE))
B<-mtcars[sam.raw.name,sam.col.name]
10.查看str函数返回的某个分量的示例
hc <- hclust(dist(USArrests),"ave") ###返回一个对象hc
bbb = str(hc)
hc$merge