R “数据帧”*&引用;仅为大小相同的数据帧定义

R “数据帧”*&引用;仅为大小相同的数据帧定义,r,R,我试图根据以下数据进行以下计算 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

我试图根据以下数据进行以下计算

  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)
我收到以下错误 “*”仅为大小相同的数据帧定义

我不知道为什么——我认为这可能与NaN有关,因为以下内容显示在“全球环境”窗口中?但我不是很确定

 return_column integer(empty)

原因是
colSums
返回一个向量,而
df1[return\u column]
是一个具有n行数的data.frame。您可能需要通过复制colSums来更正尺寸output@akrun谢谢-仍然不确定,我已经添加了一个我的数据示例。非常感谢您的帮助。但无法重现错误。它对我来说运行良好
(df1[asset\u column]/colSums(df1[asset\u column],na.rm=TRUE)*df1[return\u column])Assets\u Jan\u 18 Assets\u Feb\u 18 1 2.36842105 NaN 2 0.42492918 NaN…
原因是
colSums
返回向量,而
df1[return\u column]
是一个行数为n的数据帧。您可能需要通过复制colSums来更正尺寸output@akrun谢谢-仍然不确定,我已经添加了一个我的数据示例。非常感谢您的帮助。但无法重现错误。它对我来说运行良好
(df1[资产列]/colSums(df1[资产列],na.rm=TRUE)*df1[返回列])资产1月18日资产2.36842105南2 0.42492918南…
 return_column integer(empty)