2015-07-05 24 views
1

我使用的是因素的數據框,我需要使用DF的第一行作爲列名。我的問題是在未來,當我做使用列名稱的第一行。數據框的因素

>DF[1,] 
DF[1,] 
TradeStation.Trade.List NA.  NA..1 NA..2 NA..3   NA..4 
1      # Type Date/Time Signal Price Roll Over Pips 
         NA..5      NA..6 NA..7 
1 Shares/Ctrts/Units - Profit/Loss Net Profit - Cum Net Profit % Profit 
     NA..8  NA..9  NA..10 NA..11 NA..12 
1 Run-up/Drawdown Efficiency Total Eff. Comm. Slippage 

如果我讓名(DF)< - DF [1]我收到的不同因素,如名稱,而不是第一行的數量。

我該怎麼做?

非常感謝您

PD:我從XLSX庫得到來自read.xlx數據幀()

+0

@RHertel指出,你可能只想在你的讀函數中使用'header = TRUE'或'colNames = TRUE' – jenesaisquoi

+0

我剛剛讀了一個帶有'read.xlsx'的Excel工作表,列名自動被識別,甚至而不使用選項'header = T'。你的'colnames(DF)'的輸出是什麼? – RHertel

回答

2

您需要強制的因素是字符,而不是他們的整數表示

dat <- data.frame(a=factor(letters[1:10]), 
        b=factor(letters[11:20])) 

out <- setNames(dat[-1,], sapply(dat[1,], as.character)) 

# a k 
# 2 b l 
# 3 c m 
# 4 d n 
# 5 e o 
# 6 f p 
# 7 g q 
# 8 h r 
# 9 i s 
# 10 j t 
+0

我有另一種解決方案。我的問題與標題開始,因爲標題不在第一行,所以我只需要從另一行開始。最終代碼如下: ops < - read.xlsx(「output.xlsx」,sheetIndex = 1,startRow = 3) – Gobya

相關問題