我最近开始使用 R。我有一个由两列和 100000 行组成的数据集,如下所示:
Y TOTA
1 1 403500.000
2 1 188334.000
3 0 812387.000
4 0 163626.000
5 1 49527.000
6 1 48661.000
7 0 36712.000
8 1 31745.000
9 1 23342.000
10 0 46835.000
...... . .........
100000 0 10.982
变量 Y 只能有两个值:0 或 1,而变量 TOTA 可以有不同的值。函数摘要给了我以下结果:
Y TOTA
Min. :0.0000 Min. : 0
1st Qu.:0.0000 1st Qu.: 939
Median :1.0000 Median : 3918
Mean :0.5113 Mean : 40245
3rd Qu.:1.0000 3rd Qu.: 11028
Max. :1.0000 Max. :18938000
NA's :261
目标:
我想创建一个 10 行 3 列的表。每行代表我的数据集的十分位数,最后一行显示 NA。现在我想填充我的表格,查看数据集。如果数据集中的第一列是1 ,则将 +1 添加到创建的表中,其中值与其中一个列的值范围和“活跃公司数”列相匹配。如果第一个值为0,则在值与表值范围匹配的相应行的“被动公司数量”列中添加 +1。表格的每一行代表变量 TOTA 的不同范围
我已经尝试过
到目前为止,我尝试的是创建一个包含我的数据集处理结果的表
Number Active Companies Number Passive Companies Total
1 0 0 0
2 0 0 0
3 0 0 0
4 0 0 0
5 0 0 0
6 0 0 0
7 0 0 0
8 0 0 0
9 0 0 0
10 0 0 0
result<-matrix(data = 0, nrow = 10, ncol = 3, byrow = FALSE, dimnames = list(1:10,c("Number Active Companies","Number Passive Companies","Total")));
之后我创建了 10 个组,其中包含不同范围的变量:
x > 0 && x < 100
x > 100 && x < 1000
x > 1000 && x < 10000
x > 10000 && x < 100000
x > 100000 && x < 1000000
x > 1000000 && x < 1000000
x > 5938000 && x < 10938000
x > 10938000 && x < 15938000
x > 15938000 && x < 18938000
x=NA
现在我想以这种方式填充上一个表。我想分析 Y 变量的每一行,如果它是 1,它应该将 1 添加到活动公司的列号,并且当 Y 为零时,在该数字属于 anc 的行中相同。
for(i in TOTA){
if (Y=1)
if(x > 0 && x < 100){
}else if(x > 100 && x < 1000){
}else if(x > 1000 && x < 10000){
}else if(x > 10000 && x < 100000){
}else if(x > 100000 && x < 1000000){
}else if( x > 1000000 && x < 1000000){
}else if( x > 1000000 && x < 1000000){
}else if( x > 5938000 && x < 10938000){
}else if( x > 10938000 && x < 15938000){
}else if( x > 15938000 && x < 18938000) {
}else{
//Nas
}
}else if(Y=0){
if(x > 0 && x < 100){
}else if(x > 100 && x < 1000){
}else if(x > 1000 && x < 10000){
}else if(x > 10000 && x < 100000){
}else if(x > 100000 && x < 1000000){
}else if( x > 1000000 && x < 1000000){
}else if( x > 1000000 && x < 1000000){
}else if( x > 5938000 && x < 10938000){
}else if( x > 10938000 && x < 15938000){
}else if( x > 15938000 && x < 18938000) {
}else{
//Nas
}
}
问题
如何在表格中写字?如何以更简单的方式完成此过程?如何创建此表的直方图?
我想知道我是否做对了,因为我已经阅读了函数 quantile() 和 percentile() 的手册,而且它们似乎做同样的事情
你能否给我一些指导方针,可能还有一些命令来实现我的目标
谢谢