変換後データフレーム、既存の行に基づいて列にヘッド/名前を割り当てたいと思います。私のヘッダーは現在:
row.names X2 X3 X4 X5 X6 X7 X8 X9 ...
私はそれを取り除き、次の行を列ヘッダーとして使用したいと思います(多くの行を入力する必要はありません)。
これに対する唯一の解決策は、データをエクスポートおよび再ロードすることです(header = Tを使用)。
ここで重要なのは、最初に行をリストから外すことです。
colnames(DF) <- as.character(unlist(DF[1,]))
DF = DF[-1, ]
これを試して:
colnames(DF) = DF[1, ] # the first row will be the header
DF = DF[-1, ] # removing the first row.
ただし、データが適切に読み取られている場合は確認してください。 data.frameに数値変数があり、最初の行が文字の場合、すべてのデータは文字として読み取られています。この問題を回避するには、データを保存して、header = TRUEを使用して再度読み取ることをお勧めします。次の質問もご覧ください: CSVファイルを水平方向に整理して読む 。
Vishnuの答えと非常によく似ていますが、ラップリーを使用してすべてのデータを文字にマッピングし、それらをヘッダーとして割り当てます。これは、データが要因としてインポートされる場合に非常に役立ちます。
DF[] <- lapply(DF, as.character)
colnames(DF) <- DF[1, ]
DF <- DF[-1 ,]
多数の数値データまたは係数が必要な場合は、それらを元に戻す必要があることに注意してください。この場合、文字データフレームを保存し、必要な行を抽出して、元のデータフレームに適用するのが理にかなっている場合があります。
tempDF <- DF
tempDF[] <- lapply(DF, as.character)
colnames(DF) <- tempDF[1, ]
DF <- DF[-1 ,]
tempDF <- NULL