【发布时间】:2016-11-01 20:44:38
【问题描述】:
我有一个包含公司季度数据的数据框,我有两个问题:
1:我怎样才能只保留那些有四个季度数据的公司的记录(因为公司有时会出现有 1、2 或 3 个季度的数据,但我需要在整个数据框中为每个公司保留 4 个季度)
2:因为我有季度数据,所以我想在两个条件下取所有四个季度的年平均值或总和(基于变量类型):年份和公司。
例如,公司 i 在 1984 年的平均存货价值和总收入分别是 I1984 和 REV1984,基于四个不同的季度值。我目前正在使用这些代码行 - 用于均值和总和 - 但 R 不断返回“NA”,我已经搜索并搜索了替代方案,但似乎没有任何效果:
Company i_ I1984 <- with(R, mean(I [FY == "1984" & Co == "AAR CORP" ]))
Company i_ REV1984 <- with(R, sum(REVQ [FY == "1984" & Co == "AAR CORP" ]))
R 是我的数据框 I
显然,当我找到每个新的平均值/总和值并将其放入新的data.frame 时,引号中的值将变为动态值。
任何帮助将不胜感激。谢谢
我在下面包含了一个示例代码:
company<-c("xray", "xray", "xray", "xray", "foxrot", "foxrot", "delta", "kilo", "kilo" )
qtr <-c("1","2","3","4", "1", "2","4", "2","3")
IQ <- rnorm(9,0,10)
REVQ <- rnorm(9,0,10)
AssetQ <- rnorm(9,0,10)
CashQ <- rnorm(9,0,10)
#Modified dataframe
data<-data.frame( company, qtr, IQ, REVQ, AssetQ, CashQ )
在此示例中,“xray”应该是我们对其进行均值/总和的唯一公司。
【问题讨论】:
-
你有两个不同的问题;你应该单独问他们。您还应该看看how to make a great reproducible example - 数据快照几乎没用,但与
dput()共享的一小部分行/列是无价的 -
所以将这个问题编辑为一个问题,为另一个问题提出一个新问题,并在两个问题中重复共享一些数据! (也就是说,
NA可能是由于您的数据中缺少值,所以当第一个问题得到回答时,您可能根本不需要第二个问题。) -
我将作为单独的问题重新发布。谢谢
-
我在这里重新发布了这个问题的第一部分:stackoverflow.com/q/38113824/4318393 - 谢谢!
标签: r row conditional