首页 > 代码库 > 工作小结 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