2017-08-14 77 views
1

我遇到了匹配兩個數據幀中的數據的問題。我有一個數據框架,股票價格和公司收入。但是,兩個數據框中的公司並不完全相同。以下是我處理的重複的例子:刪除不在另一個數據幀中的數據幀中的列

AAPL <- c(50,55,75,40,60) 
MSFT <- c(80,65,70,75,80) 
GE <- c(20,25,30,25,35) 
Prices <- data.frame(AAPL,MSFT,GE) 

AAPL <- c(100,110,120,110,100) 
MSFT <- c(200,185,195,170,180) 
PFE <- c(80,70,80,75,75) 
Revenues <- data.frame(AAPL,MSFT,PFE) 

我想有兩個數據幀比率價格/收入爲公司新的數據幀。它看起來像這樣。

AAPL.ps <- c(0.5,0.5,0.625,0.364, 0.6) 
MSFT.ps <- c(0.4,0.351,0.359,0.441,0.444) 
price.sales <- data.frame (AAPL.ps,MSFT.ps) 

我是R新人,並且一直在努力。

任何有關我如何做到這一點的見解?

預先感謝您

+0

你有某種每個公司的ID /名稱的列? – tatxif

回答

3

你可以不喜歡這樣......

common <- intersect(names(Prices),names(Revenues)) #common column names 

price.sales <- Prices[,common]/Revenues[,common] #just use those columns 

price.sales 
     AAPL  MSFT 
1 0.5000000 0.4000000 
2 0.5000000 0.3513514 
3 0.6250000 0.3589744 
4 0.3636364 0.4411765 
5 0.6000000 0.4444444 
相關問題