關于轉換類型和= <--的問題
為什么將matrix形式的只設了row.names的一個矩陣,data.frame之后列名會自動變成x1,x2,x3.。。。以及在matrix,data.frame,array或者其他的內部賦一個向量給比如說name是必須用“=”是吧,
為什么將matrix形式的只設了row.names的一個矩陣,data.frame之后列名會自動變成x1,x2,x3.。。。以及在matrix,data.frame,array或者其他的內部賦一個向量給比如說name是必須用“=”是吧,
2016-04-09
舉報
2016-04-10
數據框跟矩陣很像,區別就是數據框可以包含不同類型的元素.因此如果一個數據框內的元素類型一樣,可以被轉換為矩陣;矩陣永遠可以被轉換為數據框。
x1,x2,x3...是當數據框名字缺失時的默認值。
#空矩陣轉換為數據框的例子
> t<-matrix(nrow=2,ncol = 3)
> t
[,1] [,2] [,3]
[1,] ? NA ? NA ? NA
[2,] ? NA ? NA ? NA
> data.frame(t)
X1 X2 X3
1 NA NA NA
2 NA NA NA
#矩陣轉換為數據框的例子
> df<-data.frame(id=c(1,2,3),salary=c(1.1,2.3,3.5))
> df
? id salary
1 ?1 ? ?1.1
2 ?2 ? ?2.3
3 ?3 ? ?3.5
> data.matrix(df)
? ? ?id salary
[1,] ?1 ? ?1.1
[2,] ?2 ? ?2.3
[3,] ?3 ? ?3.5
> df
? id salary
1 ?1 ? ?1.1
2 ?2 ? ?2.3
3 ?3 ? ?3.5
在matrix,data.frame,array或者其他的內部賦一個向量,使用=,使用<-也可以,只是name會不同。
> dd<-data.frame(id<-1:6,salary<-1:6)
> dd
? ? ? ? id....1.6 ? ? ?salary....1.6
1 ? ? ? ? 1 ? ? ? ? ? ? 1
2 ? ? ? ? 2 ? ? ? ? ? ? 2
3 ? ? ? ? 3 ? ? ? ? ? ? 3
4 ? ? ? ? 4 ? ? ? ? ? ? 4
5 ? ? ? ? 5 ? ? ? ? ? ? 5
6 ? ? ? ? 6 ? ? ? ? ? ? 6