R 如何编写更改结构和替换值的函数?

R 如何编写更改结构和替换值的函数?,r,function,numeric,gsub,R,Function,Numeric,Gsub,我的数据集存在一些结构性问题,我正在尝试编写一个名为“convert_number”的函数,该函数将完成以下任务: -更改列中的数字,使“,”为“.” -将该列转换为双精度 该函数还应该能够调用不同的列,因为我想更改大约10个列 我有一些想法,但都不管用。我需要一些新鲜的头脑,有人有什么建议吗?提前感谢您您可以使用以下 f1 <- function(x){ x1 <- as.numeric(sub(',', '.', x)) return(x1) } f1如

我的数据集存在一些结构性问题,我正在尝试编写一个名为“convert_number”的函数,该函数将完成以下任务: -更改列中的数字,使“,”为“.” -将该列转换为双精度 该函数还应该能够调用不同的列,因为我想更改大约10个列


我有一些想法,但都不管用。我需要一些新鲜的头脑,有人有什么建议吗?提前感谢您

您可以使用以下

f1 <- function(x){
    x1 <- as.numeric(sub(',', '.', x))
    return(x1)
    }

f1如果我们有兴趣在将
更改为
后将列转换为数字,则有一个选项

colsofinterest <- names(df1)[1:10]
df1[colsofinterest] <- lapply(df1[colsofinterest], function(x) 
           as.numeric(sub(",", ".", x)))
或在
dplyr

library(dplyr)
df1 %>%
   mutate_at(vars(colsofinterest), ~ as.numeric(str_replace(., ",", ".")))
尝试使用.numeric(sub(“,”,“,”,df1$colnm))

df1 <- read.csv('file.csv', dec = ",")
library(dplyr)
df1 %>%
   mutate_at(vars(colsofinterest), ~ as.numeric(str_replace(., ",", ".")))