R语言-计算频数和频率的操作

首先,筛选出需要的列:

data <- data2[,which(colnames(data2) %in% c("产品分类", "期数", "逾期月数"))]
产品分类 期数 逾期月数
委托贷款 24 1
委托贷款 36 1
担保贷款 24 2
委托贷款 24 2
信用贷款 36 4
担保贷款 24 3
信用贷款 24 1
委托贷款 36 3
担保贷款 24 2

现在希望得到每种产品种类在不同期数时

逾期月数的占比,使用table函数:

#freq <- table(data)
freq1 <- table(data[which(data$逾期月数 == 1),])

如果希望算出的频数参与后续的计算

那么需要把table格式的数据转化成本人比较熟悉的数据框格式:

table1 <- as.data.frame(matrix(freq1[1:length(freq1)],nrow = length(row.names(freq1)), ncol = length(colnames(freq1))))
row.names(table1) <- row.names(freq1)
colnames(table1) <- colnames(freq1)

如果希望算出频率

而不是频数的话,需要用到函数prop.table:

table2 <- prop.table(freq1)

函数的参数1代表行,2代表列。

补充:r语言画频数分布直方图和频率分布直方图

画频率分布直方图

纵坐标名字为frequency,频数直方图。

则使用:

hist(x,freq=T)

纵坐标名字为density,频率直方图。

则使用:

hist(x,freq=F)
hist(audit1[,1],col='white',freq=T)

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

(0)

相关推荐

  • R语言中if(){}else{}语句和ifelse()函数的区别详解

    首先看看定义: # if statement if(cond) expr if(cond) cons.expr else alt.expr # ifelse function ifelse(test, yes, no) 这两个函数(R语言中都是函数)相同的地方都是根据条件返回对应的值. 区别在于: if语句的条件是个TRUE/FALSE值,如果是个长度>1的逻辑向量,只判断第一个TRUE/FALSE值:而ifelse是长度任意的逻辑向量,返回根据逻辑向量对应对的yes/no值组合的新向量 ife

  • R语言中ifelse、which、%in%的用法详解

    ifelse.which.%in%是R语言里极其重要的函数,以后会经常在别的程序中看到. ifelse ifelse是if条件判断语句的简写,它的用法如下: ifelse(test,yes,no) 参数 描述 test 一个可以判断逻辑表达式 yes 判断为 true 后返回的对象 no 判断为 flase 后返回的对象 举例: x = 5 ifelse(x,1,0) 如果x不等于0,就返回1,等于0就返回0. which which 返回条件为真的句柄,给正确的逻辑对象返回一个它的索引. wh

  • R语言中na.fail和na.omit的用法

    实际工作中,数据集很少是完整的,许多情况下样本中都会包括若干缺失值NA,这在进行数据分析和挖掘时比较麻烦. R语言通过na.fail和na.omit可以很好地处理样本中的缺失值 1.na.fail(<向量a>): 如果向量a内包括至少1个NA,则返回错误:如果不包括任何NA,则返回原有向量a 2.na.omit(<向量a>): 返回删除NA后的向量a 3.attr( na.omit(<向量a>) ,"na.action"): 返回向量a中元素为NA的

  • R语言-如何循环读取excel并保存为RData

    之前写过一个循环读取excel的代码,最近又有了新的需求:循环读取xlsx文件中的多个sheet,处理完之后循环输出到xlsx文件中的多个sheet中,总结一下. 1.循环读取csv文件并输出为RData格式 homedir <- "D:/Documents/tina/Database" #设置路径 setwd(homedir) temp = list.files(pattern="*.csv") for (i in 1:length(temp)) { fil

  • R语言-使用ifelse进行数据分组

    数据分组,根据数据分析对象的特征,按照一定的数值指标,把数据分析对象划分为不同的区间部分来研究,以揭示内在的联系和规律性: 在R中,我们常用ifelse函数来进行数据的分组,跟excel中的if函数是同一种用法. ifelse(condition,TRUE,FALSE) > data <- read.table('1.csv', sep='|', header=TRUE); > > level <- ifelse( + data$cost<=20, "(0,2

  • R语言实现用cbind合并两列数据

    我有两个数据文件,分别只有一列,这两列数据行数一行,我想把这两列合并到一个数据文件中,方便使用. 我的两个数据文件分别是1.txt,2.txt,保存后的文件名是3.txt. // 代码如下 gow1<-read.table("1.txt",header = FALSE) gow2<-read.table("2.txt",header = FALSE) View(gow1) View(gow2) gow<-cbind(gow1,gow2) View(

  • R语言ARMA模型的参数选择说明

    AR(p)模型与MA(q)实际上是ARMA(p,q)模型的特例.它们都统称为ARMA模型,而ARMA(p,q)模型的统计性质也是AR(p)与MA(q)模型的统计性质的有机组合. 平稳系列建模 假如某个观察值序列通过序列预处理可以判定为平稳非白噪声序列,就可以利用ARMA模型对序列建模. 1.求出该观察值序列的样本自相关系数(ACF)与偏相关系数(PACF的值. 2.根据根样本自相关系数和偏自相关系数的性质,选择阶数适当的ARMA(p,q)模型进行拟合. 3.估计模型中未知参数的值 4.检验模型的

  • 解决R语言中install_github中无法安装遇到的问题

    首先,让我们来进入常规步骤 我安装的是recharts包,正常的写法呢,就是以下这个样子: install.packages("devtools") #devtools::install_github("madlogos/recharts") 第一个问题: 然而对于今天的我来说,那就太天真了,首先踏入的第一个坑: 无法打开URL'http://yihui.name/xran/src/contrib/PACKAGES' Warning in install.packa

  • R语言绘制频率直方图的案例

    频率直方图是数据统计中经常会用到的图形展示方式,同时在生物学分析中可以更好的展示表型性状的数据分布类型:R基础做图中的hist函数对单一数据的展示很方便,但是当遇到多组数据的时候就不如ggplot2绘制来的方便. *** 1.基础做图hist函数 hist(rnorm(200),col='blue',border='yellow',main='',xlab='') 1.1 多图展示 par(mfrow=c(2,3)) for (i in 1:6) {hist(rnorm(200),border=

  • R语言-计算频数和频率的操作

    首先,筛选出需要的列: data <- data2[,which(colnames(data2) %in% c("产品分类", "期数", "逾期月数"))] 产品分类 期数 逾期月数 委托贷款 24 1 委托贷款 36 1 担保贷款 24 2 委托贷款 24 2 信用贷款 36 4 担保贷款 24 3 信用贷款 24 1 委托贷款 36 3 担保贷款 24 2 现在希望得到每种产品种类在不同期数时 逾期月数的占比,使用table函数: #

  • R语言-计算平均值不同函数的区别说明

    函数mean > mean(x) > num x1 x2 x3 10378050.50 89.45 81.18 80.45 此时对编号也求了平均值,不过往往我们只想对后面的数据求平均值.而且此时会出现一个警告.因为x是一个数据框,不是数值,所以不能直接用mean()函数. 函数colMeans() > colMeans(x) num x1 x2 x3 10378050.50 89.45 81.18 80.45 > colMeans(x)[c("x1","

  • R语言数据的输入和输出操作

    数据的载入 R本身已经提供了超过50个数据集,而在众多功能包中,默认的数据集被存放在datasets程序包中,通过函数data()k可以查看系统提供所有的数据包,同时可以通过函数library()加载程序包中的数据. 矩阵型数据最常用的读取方式是read.table()具体的调用格式是() read.table(file, header = FALSE, sep = "", quote = "\"'",dec = ".", numera

  • R语言ggplot2设置图例(legend)的操作大全

    目录 基本箱线图(带有图例) 移除图例 修改图例的内容 颠倒图例的顺序 隐藏图例标题 修改图例中的标签 修改data.frame的factor 修改标题和标签的显示 修改图例的框架 设置图例的位置 隐藏斜线 总结 本文在 http://www.cookbook-r.com/Graphs/Scatterplots_(ggplot2)/ 的基础上加入了自己的理解 图例用来解释图中的各种含义,比如颜色,形状,大小等等, 在ggplot2中aes中的参数(x, y 除外)基本都会生成图例来解释图形, 比

  • R语言给图形填充颜色的操作(polygon函数)

    1. 使用polygon进行纯色填充 # polygon函数介绍 polygon(x, y = NULL, density = NULL, angle = 45, border = NULL, col = NA, lty = par("lty"), ..., fillOddEven = FALSE) 其中density为填充的阴影线的密度,angle为阴影线的斜率(角度).值得注意的是,当你需要纯色填充时,density和angle可以忽略不写.然后border为边框的颜色.同时bor

  • R语言—自定义函数求置信区间的操作

    看代码吧~ #求单正态均值mu的置信区间 #参数依次为置信水平alpha,正态样本x,已知总体方差(默认为未知) mu <- function(alpha,x,sigma=NA){ n <- length(x) meanx <- mean(x) if(is.na(sigma)){ t1 <- qt(1-alpha/2,n-1) t2 <- qt(1-alpha,n-1) mu11 <- meanx - t1*sqrt(sum((x-meanx)^2)/(n-1))/sq

  • R语言-生成频数表和列联表crosstable函数介绍

    列联表crosstable 列联表不仅可以用来做简单的描述性统计,还可以在机器学习中用来比较识别正确率,FPR,TPR等等数据,以便我们比较不同的ML模型 or 调参. 2x2列联表一般长下面这样: Total Observations in Table: 143 | test_cancer$diagnosis lda.class | 0 | 1 | Row Total | -------------|-----------|-----------|-----------| 0 | 82 | 1

  • R语言ggplot2x轴顺序设置自定义颜色的操作

    先声明一下所用的数据集 第一个图如下 这个图主要在于x轴的顺序设置上,如果按不做任何处理的话>3那个就会在2之前,解决方法是b[,1]<-factor(b[,1],levels=c('2','3',">3")),这句代码可以重新设置因子的级别 完整代码如下: a[,1]<-factor(a[,1],levels=c('2','3',">3")) ggplot(a,aes(x=a[,1],y=a[,2]))+geom_bar(stat=&

  • R语言通过parallel包实现多线程运行方式

    总的来说,R的运算速度不算快,不过类似并行运算之类的改进可以提高运算的性能.下面非常简要地介绍如何利用R语言进行并行运算 library(parallel) cl.cores <- detectCores() cl <- makeCluster(cl.cores) detectCores( )检查当前电脑可用核数. makeCluster(cl.cores)使用刚才检测的核并行运算.R-Doc里这样描述makeCluster函数:Creates a set of copies of R run

  • R语言-如何将循环所得的矩阵组成一个矩阵

    在矩阵合并中,常见的方法有cbind()和rbind() 其中,前者为按列合并,后者为按行合并. 但是这两个函数有个缺点,就是不能应用到循环之中.例如: A<-matrix(1:12,nrow = 4,byrow = T) B<-matrix(1:8,nrow = 4,byrow = T) C<-cbind(A,B) 得到的矩阵C为[按列合并两者行数必须相同]: 但是如果将这个方法应用在循环中,就无法取得预期效果: A<-matrix(1:12,nrow = 4,byrow = T

随机推荐