У меня есть записать функцию, чтобы удалить заменить знак% в коде - PullRequest
0 голосов
/ 11 апреля 2019

Я записал функцию для удаления / замены знака% в R. Код выполняется, но переменная не изменилась

rep_spl_chr <- function(df,variable1){
df%>%
mutate(variable1=gsub("%","",variable1))
return(df)
}

Попытка:

loan2<-rep_spl_chr(loan2,Debt.To.Income.Ratio)
>  Debt.To.Income.Ratio
[1] "14.90%" "28.36%" "23.81%" "14.30%" "18.78%" "20.05%" "26.09%"

но он по-прежнему не заменяет%

Ответы [ 2 ]

1 голос
/ 11 апреля 2019

Ваш код не выбрал нужный столбец. Вы можете сделать это с помощью df [, "nameofvariable"]. Таким образом, я бы использовал вместо:

# the function would be
rep_spl_chr <- function(df,variable1){
  return(gsub("%","", df[ , variable1], fixed= TRUE))
}

# some reproducible data (please provide it in future)
loan2 <- data.frame(Debt.To.Income.Ratio= c("14.90%", "28.36%", "23.81%", "14.30%", "18.78%", "20.05%", "26.09%"))

# saving what the function does
loan2$Debt.To.Income.Ratio_new <- rep_spl_chr(loan2,"Debt.To.Income.Ratio")

# having a look at the results
  Debt.To.Income.Ratio Debt.To.Income.Ratio_new
1               14.90%                    14.90
2               28.36%                    28.36
3               23.81%                    23.81
4               14.30%                    14.30
5               18.78%                    18.78
6               20.05%                    20.05
7               26.09%                    26.09
0 голосов
/ 11 апреля 2019

Как насчет того, чтобы делать это старомодным способом, здесь нет необходимости в тидиверсе ?:

rep_spl_chr <- function(df, variable){
    df[, variable] <- gsub("%", "", df[, variable])
    return(df)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...