工作小結 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