Сравнение имен столбцов разных файлов в R - PullRequest
1 голос
/ 24 апреля 2020

У меня много файлов в R. Я хочу сравнить имена столбцов каждого файла с base_file. Если все имена столбцов конкретного файла совпадают с именами столбцов base_file, выведите («No Mismatch»). В противном случае сообщите имя столбца, который не соответствует

base_file <- data.frame(col1,col2,col3,col4,col5)

file_2 <- data.frame(col1,col2,col3,col4,col5)      
## Output expected : No- Mistach

file_3 <- data.frame(col1,col15,col12,col4,col5)  
##  Output expected : No col3, col3. Extra columns col12,col15

Я хочу функцию для выше, как это:

fun <- function(base_file,file_2){ }

1 Ответ

2 голосов
/ 24 апреля 2020

Вы можете использовать эту функцию:

fun <- function(base_file,file_2) { 
    if(all(names(base_file) %in% names(file_2))) {
      cat('\nNo-Mismatch\n')
      file_2[names(base_file)]
     }
     else {
      cat('\nNo cols : ', setdiff(names(base_file), names(file_2)))
      cat('\nExtra cols : ', setdiff(names(file_2), names(base_file)))
    }
}

fun(df, df1)

#No cols :  b c
#Extra cols :  

fun(df, df2)

#No cols :  b c
#Extra cols :  d

data

df <- data.frame(a = 1:5, b = 2:6, c = 11:15)
df1 <- data.frame(a = 2:3)
df2 <- data.frame(a = 1:3, d = 2:4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...