我有一个数据集,其中包含“年”、“公司代码”和“def - 公司是否违约”列。我遇到的问题是“def”列包含默认的“1”序列。那些“1”代表公司运营的所有年份。因此,例如该公司从 1990 年开始运营,并在 2000 年倒闭。该列包含 10 倍“1”,即使该公司在去年(即 2000 年)违约。所以我应该为这个特定的“公司”设置列代码”只有 2000 年的“1”默认条目,而不是 1990-2000 年的默认条目。如何从“def”列中删除“1”的序列(我现在将其作为data.frame)并留下“1”的最后一个条目
我从创建垃圾箱开始:
split(data.frame[dataFrame$def == 1, ], dataFrame[dataFrame$def == 1, 'coKey])
其中“coKey”是“公司代码”。
我无法通过留下最后一次观察来清理数据,而且我也没有成功地将箱反转到原始数据框中,因为这样做的过程太过时了。
非常感谢您的帮助,非常感谢。
这是样本数据。
dataFrame <- structure(list(fyear = 1981:1986,
gvkey = c(1004L, 1004L, 1004L, 1004L, 1004L, 1004L),
def = structure(c(1L, 1L, 1L, 1L, 1L, 1L ),
.Label = c("0", "1"), class = "factor")),
.Names = c("fyear", "coKey", "def"),
row.names = c(NA, 6L), class = "data.frame")