R语言笔记

383 阅读3分钟

多用自带help。

自带help无文档时,可以用??sth来查询sth

vector操作

Vec[-1]: to exclude vec[1]

%*%: dot product

Mean(vec):均值 sd:标准差 var:方差 max:最大值 min:最小值 median:中位数 sum:求和 prod:连乘所有元素 quantile:分位数(公式pos(p)=1+(n-1)*p) length:长度 range:所在区间

log;exp;sqrt

vector内元素强制同一类型;list可不同类型

prop.table(table(vector))用来显示vector中的各不同类的值所占的比例

函数

Name=function(){

Return(…)

}

Stop(s)停止函数并输出s

一般性操作

Str()展示结构 summary展示包括分位数和均值

boxplot()或者hist()可以直接出图; hist中参数col指颜色,xlim指x显示区间,xlab指x的标签

Head(obj, n=5)展示头五个元素 Tail

Runif均匀, rnorm, rpois泊松, rexp,rbinom二项, rchisq卡方,rt,rf

Seq(from, to , by): range() in py

Rep('',3): repeat '' 3 times Replicate(n, function)重复用函数

string操作

Tolower(string); toupper

Paste():print() in py,可调整sep参数,默认空格 Paste0()为sep=空 File.path()sep为/

tibble操作

da=tibble(age=c(,,), per=c(,,), inc=c(,,)):创建data frame

da$age或者da[[1]]:得到列向量

da[1]或者da['age']:得到新data frame(关键在于用单中括号)

da[,2]: entire col2构成的新data frame

da[3:4,2]

{ind <- data$age == 22

data[ind, ] # index rows by binary vector ind

}

colnames(da): 展示;colnames(da)=c(,,)更改

write_tsv(da, ''); write_csv;

如果不是data_frame格式(实践好像也行),可以用saveRDS存,后缀名为.rds,直接打开或者用readRDS打开; 用save.image可以直接存目前环境中的全部内容,用load加载或者直接打开

read_tsv(''); read_csv; 参数可以加col_types='',col_names=TRUE;

read_excel参数可在import窗口看见; read.table注意参数header

unique(): 展示不同值

factor()将数据归类到不同因素; levels()因素名

filter(diamonds, cut %in% c("Fair", "Ideal")):挑出cut是fair或ideal的行

&:and; |: or; default: and;

n():inside a dplyr verb, to indicate the number of rows of the data frame

slice(diamonds, (n() - 9):n()): 挑选几行

select(diamonds, -x, -y, -z):函数用来挑选列,加-号表示反选

select的第二个参数起也可以加starts_with(''), ends_with(''), contains(''), matches('')

rename(da, a=b):把b改名为a

mutate(da, x): 直接用运算符造新列

transmute(da,,,): 用原列/带运算符的新列造新tibble

arrange(da, a, desc(b)): 给行排序,先按升序a,再按降序b

summarize(da, x=mean(price)): 对da进行某种函数之后,造一个新tibble,一行一列叫x

a=group_by (da, cut): a是da按cut进行分组后的对象,采用split_and_combine

%>%: 把左边的结果作为右边的第一个参数 ctrl+shift+.

gather(da, key_name, value_name, order(用vec或者cola:colb表示))

separate(da, colname, into=vec, sep=''(原列每一项中的某字符))

matrix(1:4,2,2): 创建第一列1,2第二列3,4的矩阵

rbind(): 将矩阵/data frame的行拼起来

cbind: 拼列

4种join和替换NA的方法查吧

view()可以直观看见tibble

可视化

可视化见pdf (ggplot2)

格式是ggplot(data, aes())+geom_()+facet_()+labs(x=,y=,title=)+stat_()+坐标层+theme_() aes()美学特征,x, y, color, size, shape, linetype,fill,group,alpha等

geo_散点图point等,抖点图jitter,折线图line等

histogram和bar中,stat默认为bin(count),指y只用来统计x的数量;若调为identity则y可变

加coord_flip()可旋转坐标系

geom_bar: 柱状图,饼图,条形图

geom_boxplot: 箱型图,箱线图,盒型图,自带quantile

geom_histogram: 直方图

geom_freqpoly: 频线图

geom_density: 密度函数平滑估计图

geom_point: 散点图

geom_path/geom_line: 线图(数据出现顺序/横坐标大小)

geom_smooth: 平滑曲线拟合图

geom_contour: 等高线

facet_grid和facet_wrap用于分面,参数加~单变量,或者a变量~b变量,nrow=行数, ncol=列数