1

3431933以下のコードでは、最初の行、6番目の列の値をmy_dataオブジェクトに追加しnew_dataます。

代わりに、数字を追加しているよう2です。私がどこで間違っているのか、または私の根本的な誤解が何であるかを見つけるのを手伝ってくれませんか?

私のコード:

print(my_data);
new_data <- {};
my_row <- my_data[1,];
print(my_row[1,6]);
new_data <- rbind(new_data, c(my_row[1,6]));
print(new_data);

これが私が印刷出力で見ているものです:

my_data内容:

     V1            V2 V3   V4   V5       V6       V7            V8
1 10705 indiv7_ACTGAC  2  270  271  3431933  3442637          <NA>
2 41094 indiv7_ACTGAC  2  886  891 10296043 10337136 10297027.1114
3 18841 indiv7_ACTGAC  2 3497 3498 41414296 41433136          <NA>
                V9
1             <NA>
2 10335630.1686849
3             <NA>

何のために印刷するかmy_row[1,6]

[1] 3431933
Levels: 10296043 3431933 41414296

何のために印刷するかnew_data

         [,1]

[1,]    2
4

1 に答える 1

1

数値または文字に変換する必要があるfactor(つまり、カテゴリ変数)があります

#instead of: 
my_row[1,6]

# use: 
as.numeric(as.character(my_row[1,6]))

あなたが要因を扱っているという事実を与えるのは、それを印刷するとき、それが続くということですLevels: .... (あなたは呼び出すことによってチェックすることもできます is.factor())。

2取得する数値は、変数の2番目のレベルを表します。

于 2013-03-22T18:37:55.920 に答える