首先,筛选出需要的列:
1
|
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函数:
1
2
|
#freq <- table(data) freq1 <- table(data[ which (data$逾期月数 == 1),]) |
如果希望算出的频数参与后续的计算
那么需要把table格式的数据转化成本人比较熟悉的数据框格式:
1
2
3
|
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:
1
|
table2 <- prop.table(freq1) |
函数的参数1代表行,2代表列。
补充:r语言画频数分布直方图和频率分布直方图
画频率分布直方图
纵坐标名字为frequency,频数直方图。
则使用:
1
|
hist(x,freq=T) |
纵坐标名字为density,频率直方图。
则使用:
1
|
hist(x,freq=F) |
1
|
hist(audit1[,1],col= 'white' ,freq=T) |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/t15600624671/article/details/75102192