R語言-使用ifelse進行數據分組
數據分組,根據數據分析對象的特征,按照一定的數值指標,把數據分析對象劃分為不同的區間部分來研究,以揭示內在的聯系和規律性;
在R中,我們常用ifelse函數來進行數據的分組,跟excel中的if函數是同一種用法。
ifelse(condition,TRUE,FALSE)
> data <- read.table('1.csv', sep='|', header=TRUE); > > level <- ifelse( + data$cost<=20, "(0,20]", + ifelse( + data$cost<=40, "(20,40]", + ifelse( + data$cost<=60, "(40,60]", + ifelse( + data$cost<=80, "(60,80]", + ifelse( + data$cost<=100, "(80,100]", "(100,+)" + ) + ) + ) + ) + ) > level [1] "(0,20]" "(0,20]" "(60,80]" "(0,20]" "(80,100]" "(0,20]" "(80,100]" [8] "(60,80]" "(0,20]" "(40,60]" "(20,40]" "(0,20]" "(60,80]" "(80,100]" [15] "(0,20]" > newData <- data.frame(data, level)
數據分組後的結果:
補充:R語言—-對數據進行分類匯總(GROUP_BY使用)
library(dplyr) ###加載dplyr模塊 A<-read.csv("f:\\TEST\\TDD.csv") ####加載數據 D=data.frame(A) ##### A1<-group_by(D,Date_ID) ####分組項 A2<-summarise(A1,cells=n(), ####統計個數 RRC_chenggongshu=sum(RRC_chenggongshu), RRC_QINGQIUSHU=sum(RRC_qingqiushu), 成功率=round(sum(RRC_chenggongshu)/sum(RRC_qingqiushu)*100,3), ERABCQI1_qingqiushu=sum(ERABCQI1_qingqiushu) ) write.csv(A2,"output.csv", row.names = FALSE)'去掉行名。 這可以在寫入文件時使用附加參數刪除。
執行結果:
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- None Found