【发布时间】:2019-09-18 18:41:41
【问题描述】:
我正在编写代码以更新多个数据集的前导零值。我认为将代码包装在函数中更容易:
convert_scs <- function(df, state,county,street) {
df$state <- ifelse( nchar(df$state) == 1, paste('0', df$state, sep=''), df$state )
df$county <- ifelse( nchar(df$county) == 1, paste('00',df$county, sep=''), df$county )
df$county <- ifelse( nchar(df$county) == 2, paste('0', df$county, sep=''), df$county )
df$street <- ifelse( (nchar(df$street) == 3) , paste('000', df$street, sep=''), df$street)
df$street <- ifelse( (nchar(df$street) == 4) , paste('00', df$street, sep=''), df$street)
df$street <- ifelse( (nchar(df$street) == 5) , paste('0', df$street, sep=''), df$street)
return(df)
}
convert_scs(predicted20,STATEFP,COUNTYFP, STREETCE)
predicted20 已通过以下方式转换为数据帧:
predicted20 <- as.data.frame(predicted20)
我不断收到以下错误:
$<-.data.frame(*tmp*, "state", value = logical(0)) 中的错误: 替换有0行,数据有1200
数据集中没有缺失。
任何帮助将不胜感激!
预测20的样本
之前的样本数据:
STATEFP(char) COUNTYFP(char) STREETCF(char)
1 1 20100
1 1 10500
1 3 11502
需要:
STATEFP(char) COUNTYFP(char) STREETCF(char)
01 001 020100
01 001 010500
01 003 011502
【问题讨论】:
标签: r function dataframe dplyr tidyverse