2017-06-05 68 views
-1

輸入代碼有什麼問題,以及爲什麼數字5109 2 5 5.1 5.2來到頭,我想在4509的id行是頭。如何將一行數據框移動爲標題?

數據[1:3,1:5]

  ID X1 X2 X3 X4 
1 02003KH1 -9 1 2 1 
2 02003KH1005 -9 0 1 2 
3 02003KH1021 -9 1 1 1 

> data[4507:4509,1:5] 
      ID X1 X2 X3 X4 
4507 2010XX2178 -9 0 2 2 
4508 2010XX2228 -9 0 2 2 
4509 id  G_r8 G_r9 G_r5 G_r80 

> names(data) <- data[data$ID=='id',] 

> data[1:3,1:5] 
    5109  2 5 5.1 5.2 
1 02003KH1 -9 1 2 1 
2 02003KH1005 -9 0 1 2 
3 02003KH1021 -9 1 1 1 
+1

這是你剛纔發佈了同樣的問題?我向你展示了一種獲得輸出的方法 – akrun

+0

是的,Thanx,但不幸的是,我沒有得到優勢! –

回答

0

你需要刪除你的數據幀中的因子水平看關於這個問題(Convert data.frame columns from factors to charactersHow to change factor labels into string in a data frame)類似的帖子。以下是基於提供的數據回答問題的簡短示例。

dat = data.frame(ID=c('0200','02003','020034','id','020039'), 
      X1=c(-9,-9,-9,'G1',-9), 
      X2=c(1,0,1,'G2',0), stringsAsFactors = FALSE) 
names(dat) <- dat[dat$ID=='id',]) 
dat <- dat[which(dat$id!='id'),] # remove the 'id' row 
+0

其良好的,但我不知道我的數據集中最新錯誤,因爲你顯示我應該設置id行爲標題。 我在數據集中的id行是4509的行數。 我做了名(數據)< - 數據[4509,] 而是該ID行的一些不尋常的數字去頭 5109 2 5 5.1 5.2 我不知道這些數字來自! –

+0

您是否先將其轉換爲角色?您需要刪除因素級別才能使其運行。嘗試在導入data.frame時添加'stringsAsFactors = FALSE'。您還可以指定行的編號(例如'names(dat)< - dat [32,]')。 –

相關問題