我是靠谱客的博主 魔幻麦片,最近开发中收集的这篇文章主要介绍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)'去掉行名。 这可以在写入文件时使用附加参数删除。

执行结果:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持靠谱客。如有错误或未考虑完全的地方,望不吝赐教。

最后

以上就是魔幻麦片为你收集整理的R语言-使用ifelse进行数据分组的全部内容,希望文章能够帮你解决R语言-使用ifelse进行数据分组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(85)

评论列表共有 0 条评论

立即
投稿
返回
顶部