2016-05-11 9 views
0

テーブルの最初の行を列名(転置された表)として使用しようとしていますが、1行目の値は列見出しを追加して、ちょっと変わった数字を得るだけです。それは私の光沢のあるアプリと列の名前の一部であり、その数は、サンプルデータをここでR:最初の行から値を取っていないヘッダー/列名

を異なっているよう

**私は手動で列名を設定することはできません。

data <- structure(list(`1` = structure(c(1L, 30L, 37L, 24L, 32L, 26L), .Names = c("Seq", 
                      "a", "b", "c", "d", 
                      "e"), .Label = c(">1", "0", "0.02", "0.04", "0.05", 
                             "0.06", "0.07", "0.08", "0.09", "0.14", "0.18", "0.20", "0.22", 
                             "0.24", "0.25", "0.28", "0.40", "0.44", "0.47", "0.5", "0.50", 
                             "0.52", "0.56", "0.66", "0.67", "0.88", "1.0", "1.03", "1.17", 
                             "1.42", "1.73", "1018", "2.5", "2.6", "3.0", "3.00", "3.5", "4.0", 
                             "4.5", "555", "702", "703", "995"), class = "factor"), `28` = structure(c(28L, 
                                                30L, 34L, 22L, 2L, 27L), .Names = c("Seq", 
                                                         "a", "b", "c", "d", 
                                                         "e"), .Label = c(" 523", " 524", "0", "0.00", "0.02", "0.05", "0.08", 
                                                   "0.09", "0.11", "0.13", "0.20", "0.27", "0.35", "0.39", "0.40", 
                                                   "0.47", "0.48", "0.49", "0.5", "0.50", "0.55", "0.57", "0.69", 
                                                   "0.72", "0.83", "0.95", "0.98", "1", "1.0", "1.67", "1.70", "2.0", 
                                                   "2.5", "3.5", "3.50", "4.0", "5.0", "503", "504", "510", "607", 
                                                   "723", "725", "726", "729"), class = "factor"), `32` = structure(c(32L, 
                                                                    30L, 36L, 24L, 1L, 27L), .Names = c("Seq", 
                                                                             "a", "b", "c", "d", 
                                                                             "e"), .Label = c(" 586", " 587", "0", "0.00", "0.03", "0.06", "0.07", 
                                                                        "0.08", "0.09", "0.10", "0.12", "0.13", "0.19", "0.20", "0.26", 
                                                                        "0.30", "0.32", "0.35", "0.46", "0.48", "0.49", "0.5", "0.55", 
                                                                        "0.65", "0.67", "0.69", "0.94", "1.0", "1.00", "1.54", "1.74", 
                                                                        "2", "2.5", "2.50", "3.0", "3.5", "3.50", "4.0", "4.5", "464", 
                                                                        "5.0", "551", "552", "553", "554", "571", "572", "573"), class = "factor")), .Names = c("1", 
                                                                                              "28", "32"), row.names = c("Seq", 
                                                                                                    "a", "b", "c", "d", 
                                                                                                    "e"), class = "data.frame") 

colnames(data) <- data[1, ] 

データの最初の行を自分のデータフレームのヘッダーにしたいと冒頭で述べたとおりです(上のコードも同様です)。

結果は次のようになります。

>1 1 2 
a 1.42 1.67 1.54 
b 3.5 3.5 3.5 
c 0.66 0.57 0.65 
d 1018 524 586 
e 0.88 0.98 0.94 

は、なぜ動作しませんか?

ありがとうございました!その後、

+0

期待される結果とは何ですか?予想される列名を表示してください –

答えて

3
あなたが最初の文字にあなたの変数を変換する必要があり

data[] <- lapply(data, as.character) 
names(data) <- data[1, ] 
data <- data[-1,] 
data 
# >1 1 2 
#a 1.42 1.67 1.54 
#b 3.5 3.5 3.5 
#c 0.66 0.57 0.65 
#d 1018 524 586 
#e 0.88 0.98 0.94 

あなたが要因を維持したい場合は、

names(data) <- unlist(data[1,]) 
関連する問題