R语言入门与数据分析

部分笔记(来自弹幕或评论或自己总结,有点乱,仅供参考,主要方便自己回顾)
Alt和-一起按:快捷赋值,也就是打出“<-”
plot(runif(50))
runif()函数用于生成从0到1区间范围内的服从正态分布的随机数,且每次生成的值都不一样
ctrl➕⬆️列出历史记录
esc
全局变量就是从头活到大结局的,局部变量就是一集就死的炮灰
vcd包是用来做数据可视化的
detach英文意思是分离,remove是指删除,可以这样理解
matlab 的语言表达形式[,1]来表示矩阵所有行,的第一列
rseek
each=5, times=2就是先每个重复5遍,再把整个过程重复两遍
搞清楚in是逻辑问题,z[]是提取元素就明白了
1."one"%in%z 表示字符串one是否在z向量内?是的,输出为TRUE
比如,第一个 "one" %in% z因为"one"确实在"z"中,所以为”TRUE“
赋值的时候用(),查东西的时候用[]
注:这里的意思是在v这个向量中,在第5个数据后插入一个数值为99的数据
round四舍六入五成双,3.5和4.5都是4
signif跟据四舍五入原则保留指定位数
m[-1,2]去除了第一行,再取第二列
外积是n的第一行乘以t中对应的第一列的数值再相加
一个中括号,输出的是列表的一个子集,它还是一个列表
我觉得[]访问的是first:...(类似于python的键值对),[[]]则是访问first名称对应的值。我说一下我的理解,单个的中括号就是查看你填写的那一组数据,而两个中括号就是选中你所填的那一组数据
补充单独命名新元素的方法:names(mlist)[5] <- "newname"。可以查一下?names,举例很清楚
矩阵是同一类型向量集合,列表是不同类型数据集合,数据框是不同向量类型集合
就是相当于【】取数据框中的行
不是离散型变量,是定量变量和定性变量的区别,定性变量又包括有序分类变量(等级资料)和无序分类变量
因子factor---可分类的属性列,水平level---类别,等级。
因子就类似于统计学上的因素吧。比如要探究不同肥料对作物生长影响,这个肥料因素就是一个因子,不同品牌的肥料就是水平。
关键点:因子是向量,因子的水平是这个向量中的类
table() 函数统计因子各水平的出现次数(称为频数或频率)
cyl是因子,cyl中4,6,8是因子中不同的level
cut()就是让连续性变量分割并转换为因子(区间内的数值全部统一为区间)的函数,并列出因子的水平(连续型变量可以理解为分割区间),
cut(数据集,分割间隔),将num<-1:100按照固定间隔分割,也就是cut函数将连续型变量变成具有多个水平的因子
cut函数中第一个给出要切割的数据集,第二个参数是break,要给出切割的断点。这里是按10,20,30,40等断点切割的,也就是划分成010,1020等区间。所以用了seq等差数列函数来表示划分的断点
个人理解:其实strsplit原设计就是给向量用的,只有一个字符串属于特殊情况,这样一来输出结果是列表就比较好理解了
操作了一下。现在是重新建立一个数据框了,character(0)是告诉R,每一个变量取0行。不懂的可以实操把character(0)改个数字
fixed width field吧(fwf)
可以直接使用右边环境那块import dataset,然后选择excel手动输入比较方便
这里注意:CountryID代表了不同国家的ID编号,是从1开始的,也就意味着随机抽取30个也都是在最大行数范围内的,这时候才可以取到对应的子集
这里的 cbind 相当于 SQL 里面的 Join,共同因子就是 SQL 里两个 tables 共同的 key。合并列
这个是不是用excel,spss处理感觉更简单方便
rbind 合并行
说用t(duplicated(t(data)))的,t函数把行列转置了,t(t(data)[!duplicated(t(data)),])用这个可以去除重复列
当然t(unique(t(data7)))也可以
womenheight <- womenheight*2.54
另外如果women是matrix类型,那就不用dollar符,用women[,1]*2.54,类似的办法依然可以一步到位。
centering and standardization
标准化如果你默认数据是服从正态分布的,那标准化的过程就是把一般正态分布转化成标准正态分布
其实就是以by为参考列去输出结果,即x与y会输出k1=4时,匹配k2与data的结果.而这里x与y都有两行NA,所以就共生出四种可能
第一行表示 k1 等于 4,且在 x 和 y 中都有对应的数据,因此 K2.x、data.x、K2.y 和 data.y 都是 4。 第二行表示 k1 等于 5,且在 x 和 y
melt?(反正我没懂)
明白了 就是相同变量合在一块
这和excel数据透视表一样
去除NA之后mean(aq1_1value[which(aq1_1variable'ozone'&aq1_1$month5)])就得到aqw里的行一列二的23.61583了
相当于可以对ID以外信息进行函数运算
不懂的可以拿excel表演练一下,cast类似数据透视表,melt就是数据透视表的原表
tdityr
因为在原来的数据框中这些汽车名不是数据,相当于索引,这步就把汽车名数据加入到了数据框中
其实就是,把数据塞进拆成key(变量)和value(数值)两个变量下
后面seperate/unite还比较好理解,这里gather/spread真的是晕死,看了3次才明白是什么意思
key:设置需要扩宽的类别变量,value:设置需要扩宽的变量的度量值
dplyr没学明白
p值越小,说明当前事件的发生概率很小,做一次试验就出现了当前事件,所以有理由拒绝原假设。所以p值越小,拒绝原假设的理由就越充分
p是不是置信因子?如果是,那么可以这样解释,P代表原假设发生的概率,1-p(置信区间)代表原假设不发生的概率。0.05是因为一般统计要求置信区间95%,简单来说就是数据的可靠性是95%。貌似是这样
相反,置信区间是随样本变化的,置信区间就像是投出去的网,可以说有多少机率能套住总体的真值
是该区间包含真实值的概率为95%,因为真实值是固定的,区间才是变量,所以老师这里说真实值落在区间内的概率说法是不够正确的
高杠杆点表示它是一个异常的预测变量的组合;
table函数进行频数统计
attach是加载数据包 在后面可以直接使用变量名
用 符号访问对象不是非常的方便,如accountantsstatef。attach一将会使列表或者数据框分量可以通过变量名直接调用。而且这种调用是暂时性的,没有必要每次都显式的引用列表名字。
泊松回归适合预测计数型结果变量
Affairsynaffair [Affairsaffair>0] <- 1,意思是在原Affair数据框的基础上新增加1个列(因子),名为ynaffair,
,在新的列中,如果原affairs列的值>0, 则新列的值为1。这是利用了R的 “自动补充、循环” 特性