У меня есть функция, которая выглядит следующим образом
Common_errors=function(data,pattern,column){
Type1=all(unlist(strsplit(pattern, "")) == 'C')
Type2=all(unlist(strsplit(pattern, "")) == 'N')
if( Type1==TRUE){data[,column]=gsub(0, "o", data[,column])}
if( Type2==TRUE){data[,column]=gsub("o", 0, data[,column])}
data}
Функция проверяет, должен ли столбец содержать все буквы или цифры.Если он должен содержать все числа, то любые o-основания заменяются на 0. Если он должен содержать все буквы, любые найденные 0 заменяются на o.Код работает нормально вне функции.Но внутри функции не было внесено никаких изменений в исходный набор данных.Любая помощь с благодарностью.
Набор данных, с которым я работаю, - это просто то, что я быстро составил для проверки кода, и выглядит как
Client Country
1 10 Po
2 20 Po
3 30 Po
4 40 Po
5 50 Po
6 60 Po
7 70 Po
8 8o Po
9 90 P0
10 100 Po
11 11o Po
12 120 Po
13 130 US
14 140 US
15 150 US
16 160 FS
17 170 US
18 180 US
19 190 US
Это вывод
dput(head(df,10))
structure(list(correct = c(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE,
TRUE, TRUE, FALSE, TRUE), V = structure(c(3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 2L, 3L), .Label = c("FS", "P0", "Po", "US"), class = "factor")), row.names = c(NA,
10L), class = "data.frame")