本人尚在超級菜鳥級別,中間有些代碼寫的很low,請不要見笑!
1.今天先跟大家分享一個小技巧,用黏貼板將excel中的數據讀進R
首先選中要讀入R的數據
如圖,上面是我分析的病人相關資料,Ctrol+C選中目標區域,接着在R運行以下代碼:
excel_clinic_data <- read.table("clipboard",sep="\t",header = T)
運行后就可以看到我們想要讀到R中的數據已經讀進來了,超級方便。
注意:經本人試驗,好像不支持不連續區域的選擇,如果選擇了不連續的區域,R會默認把中間沒有選中的區域也讀進來。
2. 用R中的幾個小函數生成人名
大家可以看到,上面的病人信息其實我已近簡單的處理過了,畢竟不能透露病人的隱私。於是心血來潮,想到用R來生成人名。我們想到的就是從一系列隨機的字符串中隨機挑出來三個字組成詞了,也就是人名,雖然結果有點low,但是重要的是掌握原理,提高自己的編程水平。#從網上隨機copy了一段文字
names_pool <- c("推薦華東師范大學湯銀才老師的") #寫個小函數,每次取三個數字,其實是為了取對應位置的文字 func <- function(x) { number <- sample(1:str_count(names_pool),3,replace=T) return(number) } #總共需要10個人名 numbers <- lapply(1:10,func) results <- do.call(rbind,numbers) #將文字分開變成單個字 names <- unlist(str_split(names_pool,"")) #間一個空矩陣存放名字 name <- matrix(ncol=1,nrow = dim(results)[1]) for( i in 1:dim(results)[1]) { name[i,1] <- str_c(names[results[i,1]],names[results[i,2]],names[results[i,3]]) }
上述代碼運行之后,結果如上圖。上面的代碼中用到了“stringr”包,個人覺得這個包還是挺好用的。本人也是剛接觸R不久,所以暫時沒有找到更簡單的方法,如有,還望不吝賜教。