R-gsub работает правильно в функции - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть функция, которая выглядит следующим образом

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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...