2014-02-26 32 views
0

我對R來說比較新。我剛開始學習它,並且給我留下了深刻的印象。我想問一些問題。說我有一個數據幀,例如:按部門分組的數據框中的數據

ISIN  sector 
12345 Technology 
34567 Utilities 
45256 Financials 
52000 Technology 
33662 Financials 

我想下來打破我的數據成扇區。例如有多少證券有收益率等等。我怎樣才能按部門分組?有沒有通過這可以在河做的方式

+0

歡迎來到Stack Overflow!你能給我們一個[可重現的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)? – Jaap

回答

0

您還可以使用plyr包按部門彙總數據。

newDF <- ddply(myDF, .(sector), summarise, #some code to create summary variables) 

由於您沒有提供reproducable example,它是很難給出一個很好的答案,因爲我們無法看到您的數據的結構。但是,下面是您的代碼如何可能的示例:

# creating a data.frame 
myDF <- read.table(text="ISIN  sector div.yield 
12345 Technology 3 
34567 Utilities  4 
45256 Financials 1 
52000 Technology 5 
33662 Financials 2", header = TRUE, strip.white = TRUE) 

# summarising the data.frame 
newDF <- ddply(myDF, .(sector), summarise, n.yield = as.numeric(length(div.yield)), 
       av.yield = round(mean(div.yield),2), 
       ISIN.string = paste(as.character(ISIN), collapse = ",") 
) 
0

您可以使用子集上的行條件R數據幀:

FinancialsData <- myDataFrame[myDataFrame$sector == "Utilities", ] 

如果你想打破它分成幾個數據幀,一個對於每個扇區,你可以使用split功能:

splitData <- split(myDataFrame, f = myDataFrame$sector) 

這將產生一個列表,其中每個元素是每一個具體部門。