1

いくつかの欠落データ (ランダムに欠落) を含むデータセット (data1.csv) があり、完全な観測のみが d2 に保持されるように、このデータセット (d1) からサブセットを作成しています。ftableas.data.frame関数を使用し、各組み合わせのパーセンテージを表す列pを作成しています。

 d1 = read.csv("C:/Users/....../Data1.csv",header=T)

   y x1 x2 x3
1  1  2  1 NA
2  0  2 NA  0
3  1 NA  1  1
4  0  3  1  0
5  0  2  0 NA
6  0  1  0  1
7  1 NA NA  1
8  1  3  0  1
9  1  2  0  0
10 0  3  0 NA
11 1 NA  0  1
12 1  3 NA  1
13 0  3  1 NA
14 0 NA  1  0
15 1  1  0 NA
16 0  1 NA  1
17 1 NA  0 NA
18 0  3  1  1
19 0  1 NA  0
20 0 NA  0  1

 d2= d1[complete.cases(d1),]
 d2

   y x1 x2 x3
4  0  3  1  0
6  0  1  0  1
8  1  3  0  1
9  1  2  0  0
18 0  3  1  1


 d3= ftable(d2)
 d4=as.data.frame(d3)
 d4


 y x1 x2 x3 Freq   p
 1  0  1  0  0    0 0.0
 2  1  1  0  0    0 0.0
 3  0  2  0  0    0 0.0
 4  1  2  0  0    1 0.2
 5  0  3  0  0    0 0.0
 6  1  3  0  0    0 0.0
 7  0  1  1  0    0 0.0
 8  1  1  1  0    0 0.0
 9  0  2  1  0    0 0.0
 10 1  2  1  0    0 0.0
 11 0  3  1  0    1 0.2
 12 1  3  1  0    0 0.0
 13 0  1  0  1    1 0.2
 14 1  1  0  1    0 0.0
 15 0  2  0  1    0 0.0
 16 1  2  0  1    0 0.0
 17 0  3  0  1    0 0.0
 18 1  3  0  1    1 0.2
 19 0  1  1  1    0 0.0
 20 1  1  1  1    0 0.0
 21 0  2  1  1    0 0.0
 22 1  2  1  1    0 0.0
 23 0  3  1  1    1 0.2
 24 1  3  1  1    0 0.0

関数ftableas.data.frameは正常に動作しますが、問題は、意味をなさない結果 (d4) にこれらすべての観測結果が表示されることです。私が完了したとき、私はこれを取り除いたと思いました.cases(d1)

したがって、欠損値を取り除き、これらの完全な観測に対してのみ頻度表を作成するのに助けが必要です

   y x1 x2 x3
4  0  3  1  0
6  0  1  0  1
8  1  3  0  1
9  1  2  0  0
18 0  3  1  1
4

2 に答える 2

2

?complete.cases() を参照してください。それはあなたが探していることをします。欠損値とそれを行う列を指定できます。

于 2014-08-24T23:17:46.253 に答える