我需要将一堆邮政编码读入R中,但它们必须是双重类型。我还需要保持从零开始的前导零。我试过了
import '../../assets/css/styles.css';
import '../../assets/css/ngMaterialTheme.scss';
这会转换我想要的方式,但它会将它们全部更改为字符类型,我无法将区域列读入另一个需要数字或双精度的函数。如果我转换为数字或双倍它再次摆脱前导零。有什么想法吗?
答案 0 :(得分:2)
为什么不将它们存储为数字,只需在需要时通过formatC
添加零?例如,
tst <- 345
class(tst)
formatC(tst, width = 5, format = "d", flag = "0")
给出,
#[1] "numeric"
#[1] "00345"
为简洁起见,你甚至可以写一个包装器:
zip <- function(z)formatC(z, width = 5, format = "d", flag = "0")
zip(tst)
#[1] "00345"
这只会在需要时添加前导零。
zip(12345)
#[1] "12345"
答案 1 :(得分:1)
我建议保留两列,其中一列邮政编码显示为文本,另一列显示为双列。您必须首先读取邮政编码中的字符数据,然后从中创建双列,例如
# given df$zip_code
df$zip_as_double <- as.double(df$zip_code)
双变量通常不会保持前导零的数量,因为这些数字无论如何都不重要。所以我认为将邮政编码存储为字符数据是唯一的选择。