【发布时间】:2018-04-22 03:50:26
【问题描述】:
我想将一个 df 中的几列乘以另一个 df 中的一列。
df1 和 df2 有一个名为“year_quarter”的列。我希望 df1 中的许多列乘以 df2 中的列,以便 year_quarter 匹配。
df1
year_quarter col1 col2 col3
2010Q1 5 0.34 0.45
2010Q1 4 0.45 0.34
2010Q1 6 0.63 0.86
2010Q1 2 0.75 0.45
2010Q2 3 0.78 0.27
2010Q2 5 0.43 0.38
2010Q2 2 0.34 0.74
2010Q2 1 0.87 0.35
2010Q3 5 0.34 0.45
2010Q3 8 0.54 0.42
2010Q3 9 0.23 0.45
2010Q3 3 0.74 0.34
2010Q4 2 0.72 0.78
2010Q4 7 0.62 0.91
2010Q4 2 0.74 0.10
2010Q4 6 0.73 0.09
df2
year_quarter ratio
2010Q1 0.96
2010Q2 1.34
2010Q3 1.92
2010Q4 0.74
我想将 df1 中的 col1、col2 和 col3 乘以 df2 中的比率,其中 year_quarter 在两个 dfs 中都匹配。即如果 df1 中的 Quarter_year = 2010Q1,那么对于 2010Q1 的所有实例,col1、col2 和 col3 应乘以 0.96,依此类推。
【问题讨论】:
-
如果不匹配,假设 df1 中有四分之一没有出现在 df2 中,您想要什么行为?有可能吗?
-
我想打印 df1 中存在但 df2 中不存在的季度名称,这可能吗?
标签: r dataframe merge mapping multiplication