私は最近 R を使い始めました。以下に示すように、2 つの列と 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 の 2 つの値のみを持つことができますが、変数 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列の表を作りたいと思っています。各行はデータセットの 10 分の 1 を表し、最後の行は NA を示しています。ここで、データセットを見てテーブルにデータを入力したいと思います。データセットの最初の列が1の場合 、作成されたテーブルに +1 を追加します。この値は、列の 1 つと列 "Number Active Companies" の値の範囲と一致します。最初の値が0の場合、値が表の値の範囲と一致するそれぞれの行の「Number Passive Companies」の列に +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 がゼロの場合は番号が属している行に 1 を追加する必要があります。
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() のマニュアルを読んだという事実を考えると、私は正しいことをしているかどうか疑問に思っていますが、それらは同じことをしているようです
私の目標を達成するためのガイドラインと、おそらくいくつかのコマンドを教えてください
ありがとうございました