首页 > 解决方案 > 数据框“*”只为同样大小的数据框定义

问题描述

我正在尝试对以下数据进行以下计算

  Class Returns_Jan_18 Returns_Feb_18 Assets_Jan_18 Assets_Feb_18
    zxc1       3           NaN            150           153 
    zc2        5           NaN            30            60
    2343       NaN         -7             8             NA  
    4zcz       NaN          2             NA            80            
    zxcEd      2            1             2             60           

 asset_column <-grep("^Assets_", names(df1))
 return_column <-grep("^Returns_", names(df1))
 colSums(df1[asset_column], na.rm = TRUE) 
 df1[asset_column]/colSums(df1[asset_column], na.rm = TRUE)

上面的代码工作正常。但是,只要我尝试以下

 (df1[asset_column]/colSums(df1[asset_column], na.rm = TRUE) * df1[return_column])

我收到以下错误“*”仅为相同大小的数据帧定义

我不知道为什么 - 我认为它可能与 NaN 有关,如下所示在全局环境窗口中?但我不确定。

 return_column integer(empty)

标签: r

解决方案


推荐阅读