簡體   English   中英

比較不同維度的數據幀

[英]Compare dataframes of different dimensions

我試圖比較兩個不同尺寸的時間序列數據幀。

Market_Cap

Date          Stock_A       Stock_B     Stock_C
01.01.1990    1             3           7
01.02.1990    2             4           8
01.03.1990    3             5           1
01.04.1990    4             6           2

Market_Cap_quantiles

Date          Bottom_quantile      
01.01.1990    1.4                       
01.02.1990    2.4                     
01.03.1990    1.4                     
01.04.1990    2.4                     

有沒有一個優雅的解決方案,如果Market_Cap_quantile中的股票屬性,則檢查Market_Cap的每一行,如果沒有用NA替換該值。 所以我最終得到這樣的東西:

Bottom_Stocks

Date          Stock_A       Stock_B     Stock_C
01.01.1990    1             NA           NA
01.02.1990    2             NA           NA
01.03.1990    NA            NA           1
01.04.1990    NA            NA           2

非常感謝你的幫助!

我們可以做的

df1[-1][df1[-1] > df2[,2]] <- NA
df1
#        Date Stock_A Stock_B Stock_C
#1 01.01.1990       1      NA      NA
#2 01.02.1990       2      NA      NA
#3 01.03.1990      NA      NA       1
#4 01.04.1990      NA      NA       2

ifelse檢查和%in%應該能夠完成工作。

> a <- c(1:5)
> b <- c(11:15)
> c <- c(13:17)
> df <- data.frame(a, b)
> df2 <- data.frame(a, c)

> df
  a  b
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15

> df2
  a  c
1 1 13
2 2 14
3 3 15
4 4 16
5 5 17

> df[,3] <- ifelse(df[,2] %in% df2[,2], df[,2], NA)

> df
  a  b V3
1 1 11 NA
2 2 12 NA
3 3 13 13
4 4 14 14
5 5 15 15

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM