提问人:Yuhwan Seo 提问时间:10/11/2023 更新时间:10/11/2023 访问量:39
在 R 中使用 write.fwf 进行 NA 处理
NA handling with write.fwf in R
问:
我正在尝试根据如下代码转换矩阵数据以进行数值模拟。 但是,我想保存 NA 值,以便没有空间,但我不知道。 有人可以告诉我吗?
library(gdata)
a <- matrix(c(1 : 6), nrow = 2, ncol = 3)
a[a == 6] <- NA
write.fwf(a, paste0("test.txt"), colnames = F, width = 17, justify = "right", na = "")
答:
0赞
user2554330
10/11/2023
#1
在评论中,您澄清了您不想为值输出任何内容。在这种情况下,您没有编写固定宽度格式(因为大多数值需要宽度 17,但 NA 宽度为 0),因此不应使用 .只需设置值的格式,将它们粘贴在一起,然后写下行即可。NA
write.fwf()
例如:
a <- matrix(c(1 : 6), nrow = 2, ncol = 3)
a[a == 6] <- NA
formatted <- format(a, width = 17)
formatted[grepl("NA", formatted)] <- ""
lines <- apply(formatted, 1, paste0, collapse="")
writeLines(lines, "test.txt")
lines
#> [1] " 1 3 5"
#> [2] " 2 4"
创建于 2023-10-11 使用 reprex v2.0.2
评论