2016-08-02 11 views
1

2つのtxtファイルがあります。最初に1つはデータを持ち、もう1つは変数名を持っています。 Rにデータをロードしましたが、variable_names.txtファイルで指定されたデータフレームに列名を追加します。どうやってやるの。最初の列にヘッダー名を追加する方法

マイ手順:

mydata <- read.table("wine.txt") # Read data 
mydata 

structure(list(V1 = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L), V2 = c(14.23, 13.2, 13.16, 14.37, 13.24, 14.2, 
14.39, 14.06, 14.83, 13.86, 14.1, 14.12, 13.75, 14.75), V3 = c(1.71, 
1.78, 2.36, 1.95, 2.59, 1.76, 1.87, 2.15, 1.64, 1.35, 2.16, 1.48, 
1.73, 1.73), V4 = c(2.43, 2.14, 2.67, 2.5, 2.87, 2.45, 2.45, 
2.61, 2.17, 2.27, 2.3, 2.32, 2.41, 2.39), V5 = c(15.6, 11.2, 
18.6, 16.8, 21, 15.2, 14.6, 17.6, 14, 16, 18, 16.8, 16, 11.4), 
V6 = c(127L, 100L, 101L, 113L, 118L, 112L, 96L, 121L, 97L, 
98L, 105L, 95L, 89L, 91L), V7 = c(2.8, 2.65, 2.8, 3.85, 2.8, 
3.27, 2.5, 2.6, 2.8, 2.98, 2.95, 2.2, 2.6, 3.1), V8 = c(3.06, 
2.76, 3.24, 3.49, 2.69, 3.39, 2.52, 2.51, 2.98, 3.15, 3.32, 
2.43, 2.76, 3.69), V9 = c(0.28, 0.26, 0.3, 0.24, 0.39, 0.34, 
0.3, 0.31, 0.29, 0.22, 0.22, 0.26, 0.29, 0.43), V10 = c(2.29, 
1.28, 2.81, 2.18, 1.82, 1.97, 1.98, 1.25, 1.98, 1.85, 2.38, 
1.57, 1.81, 2.81), V11 = c(5.64, 4.38, 5.68, 7.8, 4.32, 6.75, 
5.25, 5.05, 5.2, 7.22, 5.75, 5, 5.6, 5.4), V12 = c(1.04, 
1.05, 1.03, 0.86, 1.04, 1.05, 1.02, 1.06, 1.08, 1.01, 1.25, 
1.17, 1.15, 1.25), V13 = c(3.92, 3.4, 3.17, 3.45, 2.93, 2.85, 
3.58, 3.58, 2.85, 3.55, 3.17, 2.82, 2.9, 2.73), V14 = c(1065, 
1050, 1185, 1480, 735, 1450, 1290, 1295, 1045, 1045, 1510, 
1280, 1320, 1150)), .Names = c("V1", "V2", "V3", "V4", "V5", 
"V6", "V7", "V8", "V9", "V10", "V11", "V12", "V13", "V14"), 
class = "data.frame", row.names = c(NA, 
-14L)) 

今、私は、各列に対するヘッダ名を入れたいです。

mydata <- data.frame(Class label,Alcohol,Malic acid,Ash,Alcalinity of ash,Magnesium,Total phenols,Flavanoids,Nonflavanoid phenols,Proanthocyanins,Color intensity,Hue,Diluted wines,Proline) 
+0

試して値を持つデータフレームのの列名を追加することができます「酸」、「灰」、「灰分のアルカリ度」、「マグネシウム」、「 「フラバノイド」、「非フラバノイドフェノール」、「プロアントシアニン」、「色調」、「色相」、「希釈ワイン」、「プロリン」)、または「コルネーム(mydata)< - var_names_object」 – TJGorrie

+0

エラーメッセージ以下になります::名前の誤り(mydata)< - variable_names: '名前'属性[14]はベクトル[1]と同じ長さでなければなりません –

答えて

0

は、2つのオプションがあります。

  1. 最も簡単な1:あなたはread.tableを使用してデータを読んでいるとき、あなたは適切なベクターを用いた機能のcol.names引数を通じてカラム名を指定することができます。この関数は、help(read.table)または?read.table

  2. と入力してアクセスできる他のオプションを提供します。データを読み取った後、colnames(your_data_frame)を使用して任意の名前のベクトルに設定できます。 @ hssayの答えを1として

    colnames(mydata)<-c("Class label","Alcohol","Malic acid","Ash",...)

+0

ありがとうございました。それは解決されました。 –

+0

@Kumar Pあなたを助けた場合は、回答を受け入れてください。 – hssay

0

、あなたは列名にスペースを使用しないようにする必要があることを追加する以外に:あなたの場合。ここでは、必要があると思いベクトル構文の種類、およびお使いのカラム名をフォーマットする方法についての提案と例を示します

names(mydata) <- c("ClassLabel","Alcohol","MalicAcid","Ash", 
    "AlcalinityOfAsh","Magnesium","TotalPhenols","Flavanoids", 
    "NonflavanoidPhenols","Proanthocyanins","ColorIntensity", 
    "Hue","DilutedWines","Proline") 
0

を連結ベクトルのすべての変数名と、あなたのデータに名前の関数を適用 - C( "クラスラベル"、 "アルコール"、「リンゴ `COLNAMES(MYDATA)<:

variable_names <- c("Class label","Alcohol","Malic acid","Ash","Alcalinity of ash","Magnesium","Total phenols","Flavanoids", 
     "Nonflavanoid phenols","Proanthocyanins","Color intensity","Hue","Diluted wines","Proline") 

     names(mydata) <- variable_names 

それとも、ただ

colnames(mydata) <-colnames(no_data) 
+0

@kumar P列名が両方のデータフレームで同じ長さであることを確認する必要があります –

+0

名前の誤り(mydata)< - variable_names: 'names'属性[14]はベクトル[1] –

関連する問題