首页 > 代码库 > 工作小结 8.10
工作小结 8.10
不知不觉,实习近一个月了,这期间,写了一套数据分析代码,初步学习了利用hugo建个人blog,虽然还没建起来。。。
学习了他人的code,发现自己在写代码中有一些不好的毛病:不能打开脑洞使用更多方便的函数或者命令。
因此现总结一下自己平时不习惯用的但是非常实用的命令,争取以后写code时消化进去。
首先是data.frame:
1、data$.. replace data[ , ] (你总是喜欢用矩阵的模式使用data.frame,那还要data.frame干什么!)
2、dat = A==B 此时dat中是 逻辑符 但是可以直接进行 cor()运算 因此无需进行0,1的替换
另外,除非需要知道其TURE的位置,否则无需使用 which()函数。
另引谢大大的一段话--------------
R 里面有个 which()
函数,我感觉很多人一旦学了就忘不了,总是想用。它可以把逻辑向量转化为整数向量,这些整数表示哪些位置上的值是 TRUE
,如 which(c(F, T, F))
就会返回 2。我见过好些人在用下标索引的时候硬生生把逻辑向量用 which()
转一下,比如 x[which(y)]
(y
是逻辑向量),这个 which()
的调用完全没必要,因为 R 有三种索引方式:整数值、逻辑值、字符(名字)。
3、is.na() (所以不要再用什么which(dat=="NA")...)
4、merge() (合并data.frame大杀器。你就是傻,天天cbind rbind的。。!!!)
5、dat=c() (循环合并数据的时候,不要建矩阵 建空向量)
6、quantile(dat,c(seq(0,1,1/20)) (哟哟哟,你懂得不,取截断点)
7、!duplicated()
8、cut() 按某数据点切分数据 并可命名,使用lables
9、corr <- tibble::rownames_to_column(corr) #将行名转为显式向量
10、最后!敲重点了!!!!
不要填空矩阵了好不好啊,好不好?!!!
如果运算结果具有相同的行数,我们就直接给命名放入data.frame,
不然填了空矩阵你还得给矩阵命名还得给转成data.frame你是不是傻。
甩个例子:
dat = data.frame(cbind(option,Nopt=Noption,popt=poption,dis_rbi,disp),
stringsAsFactors = FALSE);
函数:
1、source() 给我用起来这个!开发什么包,以后有能耐了再说吧,先把source用起来
source(‘路径.R‘,local=TRUE)
2、所以没事你就多学学包,看看人家的函数咋写的,看什么看的剧。。
3、detach() 所以这个干啥使的。。不detach又能怎么样我呢。。
4、这玩意绝对好用哦,省的你各种排序找相同~
substr("abcdef", 2, 4) [1] "bcd
暂时这么多,关于ggplot2的明天再说心得。
工作小结 8.10