为了账号安全,请及时绑定邮箱和手机立即绑定

为缺少时间步骤添加行的最快方法?

为缺少时间步骤添加行的最快方法?

慕容森 2019-08-02 17:14:49
为缺少时间步骤添加行的最快方法?我的数据集中有一列,其中时间段(Time)是从ab开始的整数。有时,任何特定组都可能缺少时间段。我想用这些行填写NA。以下是1(几千个)组的示例数据。structure(list(Id = c(1, 1, 1, 1), Time = c(1, 2, 4, 5), Value = c(0.568780482159894, -0.7207749516298, 1.24258192959273, 0.682123081696789)), .Names = c("Id", "Time", "Value"), row.names = c(NA, 4L), class = "data.frame")  Id Time      Value1  1    1  0.56878052  1    2 -0.72077503  1    4  1.24258194  1    5  0.6821231如您所见,时间3缺失。通常一个或多个可能会丢失。我可以自己解决这个问题,但恐怕我不会以最有效的方式做到这一点。我的方法是创建一个函数:生成时间段从序min(Time)到max(Time)然后做一个setdiff抓取缺失的Time值。将该向量转换为a data.frame拉出唯一标识符变量(Id以及上面未列出的其他变量),并将其添加到此data.frame中。合并两者。从功能返回。因此整个过程将按如下方式执行:   # Split the data into individual data.frames by Id.    temp_list <- dlply(original_data, .(Id))     # pad each data.frame    tlist2 <- llply(temp_list, my_pad_function)    # collapse the list back to a data.frame    filled_in_data <- ldply(tlist2)更好的方法来实现这一目标
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 503 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信