2014-01-22 127 views
0

我有一個文件:從列表轉換爲數字?

file<-read.csv("https://dl.dropboxusercontent.com/u/22681355/file.csv",head=T) 

mode(file) 
"list" 

file<- file[,-1:2] 

我想文件轉換爲數字模式,使內置的columnames消失。這有可能做到嗎?

我的目標是,當我列出文件中的某些元素時,例如file[,2:4]那麼它應該只顯示數字而不顯示列名。

+0

我不確定您想要的是什麼。 'unname()'刪除名字。你可以使用'as.vector(as.matrix(file))'將數據壓扁成數字向量。 – lukeA

回答

0

因爲你的數據是所有的數字(除了要刪除前兩列),你可以輕鬆地將數據幀到一個數組:

x <- as.matrix(file[, -2:-1]) 
head(x) 

      a1  b1  c1  d1  e1  f1  g1  h1  i1 
[1,] 100.00000 100.00000 100.00000 100.00000 100.00000 100.00000 100.00000 100.00000 100.00000 
[2,] 99.33333 99.05363 100.00000 98.58044 97.56944 97.64706 97.34579 98.66039 98.12500 
[3,] 98.70934 104.77707 103.57143 99.15429 98.93238 103.61446 101.28008 101.35780 100.33121 
[4,] 103.92259 100.30395 98.85057 99.42370 99.64029 101.93798 100.94793 105.43085 98.09548 
[5,] 98.74182 99.69697 101.16279 99.11894 99.09025 101.14068 98.74797 99.14148 97.07481 
[6,] 99.38838 101.51976 101.14943 101.16959 100.55377 99.62406 100.63395 100.86595 100.34667 

不難子集陣列的方式你要求。試試這個:

x[1:3, 2:5] 
      b1  c1  d1  e1 
[1,] 100.00000 100.0000 100.00000 100.00000 
[2,] 99.05363 100.0000 98.58044 97.56944 
[3,] 104.77707 103.5714 99.15429 98.93238 

由於在陣列中的列名是不是在數據的事實部分,我通常會保留列名,如果它們的信息。但是,您可以更改列名稱,包括NULL值:

colnames(x) <- NULL 
x[1:3, 2:5] 

     [,1]  [,2]  [,3]  [,4] 
[1,] 100.00000 100.0000 100.00000 100.00000 
[2,] 99.05363 100.0000 98.58044 97.56944 
[3,] 104.77707 103.5714 99.15429 98.93238 
+0

是的,但現在仍然存在a1 b1 c1名稱,而我希望[,1] [,2] [,3] – user1723765