2016-04-08 96 views
0

這似乎是一個相當基本的問題,但我一直堅持一段時間。將不勝感激任何幫助。將數據框分爲單獨的列

我有一個包含大量列的數據框,並且希望將其拆分爲各個列,並保留名稱。

df = data.frame(a=runif(10),b=runif(10),c=runif(10)) 

df 
#   a   b   c 
# 1 0.2779563 0.1412121 0.81080549 
# 2 0.9312947 0.2074081 0.23266019 
# 3 0.2001917 0.8405399 0.79820815 
# 4 0.3866977 0.4979865 0.57364238 
# 5 0.2644731 0.2714174 0.24188040 
# 6 0.1973641 0.3027505 0.01130486 
# 7 0.7657212 0.1042998 0.69974274 
# 8 0.6424601 0.4570072 0.91322978 
# 9 0.3754743 0.5670109 0.03320163 
# 10 0.5413522 0.2577974 0.48067775 

我想有將基本上完成什麼的代碼的下面行不單獨(分配的df每一列的值所涉及的功能:例如,在下面的代碼中給出的數據幀df齊名矢量) -

a <- df$a; b <- df$b; c <- df$c 

a 
# [1] 0.2779563 0.9312947 0.2001917 0.3866977 0.2644731 0.1973641 0.7657212 
# [8] 0.6424601 0.3754743 0.5413522 

任何想法?

回答

3

這是一種很難想象這是一個良好的使用情況,但你可以使用

list2env(unclass(df), .GlobalEnv) 
+0

如圖通過上面@nrussel,你甚至不需要使用'unclass'。 –

+2

我無法強調我與「難以想象的好用例」的一致。 – joran

+0

謝謝,它的工作原理。 @joran:我唯一的問題是列的數量是巨大的,我想有個別向量來做某些操作,而不是引用「df $ x」符號。我必須承認,有點昏睡。我應該注意的任何缺點,以免不使用它?.. – prateek1592

相關問題