R 替换data.table中多列中的值

R 替换data.table中多列中的值,r,data.table,R,Data.table,我有一个包含时间序列数据的大表(不是时间序列格式),我想用一行简单的代码替换某些值。下面是表格的示例。我想将NA替换为nothing,将88888替换为0。当然,这可以在while循环的帮助下逐列完成。然而,我想对于这个问题有一个更简单的解决方案。有什么建议吗 样本数据集: sample <- structure(list(Period = c("01-12-08", "01-01-09", "01-02-09", "01-03-09", "01-04-09", "01-05-09",

我有一个包含时间序列数据的大表(不是时间序列格式),我想用一行简单的代码替换某些值。下面是表格的示例。我想将NA替换为nothing,将88888替换为0。当然,这可以在while循环的帮助下逐列完成。然而,我想对于这个问题有一个更简单的解决方案。有什么建议吗

样本数据集:

sample <- structure(list(Period = c("01-12-08", "01-01-09", "01-02-09", "01-03-09",
 "01-04-09", "01-05-09", "01-06-09", "01-07-09", "01-08-09", "01-09-09", "01-10-09",
 "01-11-09", "01-12-09", "01-01-10", "01-02-10"), Serie1 = c(NA, NA, NA, NA, NA, NA,
 NA, NA, NA, NA, NA, 6L, 88888L, 88888L, 88888L), Serie2 = c(NA, NA, NA, NA, NA, NA,
 20L, 88888L, 88888L, 88888L, 88888L, 88888L, 88888L, NA, NA), Serie3 = c(NA, NA,
 NA, NA, NA, NA, NA, NA, NA, 10L, 10L, 88888L, 88888L, 88888L, 88888L)), .Names =
 c("Period", "Serie1", "Serie2", "Serie3"), row.names = c(NA, -15L), class =
 c("data.table", "data.frame"))

sample
sample[is.na(sample)]注意,通过将
na
转换为“”,您还可以将列从
整数
转换为
字符
NA
是表示
integer
列“无”的最佳方式。这也不会修改data.table。
sample[is.na(sample)] <- ""
sample[sample == 88888] <- 0