编程之路_R

2020-08-06 09:59:31 浏览数 (2)

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

参考书籍:R语言基础编程技巧

0 人点赞