学习和使用R已经有1年多的时间了,看了很多R教程视频,看了很多电子书,买了几本R相关的书,现觉得编程思维很重要,所以继续钻研R编程艺术,已读到第五章,希望读完整本书可以帮助自己R达到大成的状态。

R语言编程艺术:第五章

drop=F表示向量变成数据框的参数条件。

complete.cases()用法跟na.rm和na.omit有点相似,但可以精确删除某行或某列。
用法是:x【complete.cases(x(,5:6))】,x为数据集。

Logistic模型:glm函数,family=binomial可以带入数据就估计出βi值。


第六章:

split()函数:基本形式是split(x,f)。x为向量或数据框,f为因子或因子的列表。

example:split(1:length(txt),txt)

by函数:第一参数指定数据,第二个为分组因子,第三个是应用于每组的函数。与tapply非常相似。

table()函数非常简单,就是输出频数表。

addmargins()解决计算边际值。dimnames()获得维度的名称和水平值。

subtable()可以完成子表的提取:它有2个参数:

tbl:感兴趣的表,它用“table”类的对象;

subnames:是一个列表,用来设定想要提取的子表。该列表的每个组件都是以tbl的某个维度命名,组件的值是所需水平的名称向量。

tabdom()函数表示一个表中最显著的频数。简单调用:tabdom(tbl,k)函数给表中频数占前k位的单元格。

自定义:

tabdom<-function(tbl,k){
tbldf<-as.data.frame(tb1)#转换为数据框

降序

dom<-tbldf[freqord,][1:k,]#显示前k点的freqord列
return(dom)
}


aggregate()函数:第一个参数是数据框,第二个参数必须是列表,第三个参数是函数。

cut()函数:切割为数据区间,调用形式:y<-cut(x,b,labels=FALSE);y为区间范围值。