Попытка объединить два набора данных, но функция str () показывает косые черты ---- - PullRequest
0 голосов
/ 04 декабря 2018

Я пытался объединить два файла, оба с общими переменными COUNTYCD (код для округов, используемый Бюро статистики труда Министерства труда. Я преобразовал их в переменные chr и пытаюсь объединить / объединить их,но безрезультатно. Когда я запускаю функцию R str (), я получаю следующее:

`` `

Файл X: $ COUNTYCD: chr" 46013 "" 46013 "" 46013 ""46013" ...

Файл Y: $ COUNTYCD: chr "\" 01001 \ "" "\" 01003 \ "" "\" 01005 \ "" "\" 01007 \ "" ...

`` `

Я отмечаю, что в файле Y есть косые черты, хотя оба обозначают chr как тип переменной. Любая идея, что означают эти косые черты? Я пробовал объединять, объединять и другиефункции, но они просто не будут работать.

1 Ответ

0 голосов
/ 04 декабря 2018

Проблема связана с дополнительными кавычками (обозначенными экранированными \" в выводе str) и начальными пробелами в COUNTYCD файла Y.

Вы можете использовать gsub длязамените кавычки и trimws, чтобы обрезать дополнительные пробелы перед объединением.

Вот пример, основанный на ваших (слегка измененных) выборочных данных:

merge(df1, transform(df2, COUNTYCD = trimws(gsub("\"", "", COUNTYCD))), by = "COUNTYCD")
#  COUNTYCD val_from_df1 val_from_df2
#1    46013   0.33615347    0.9586547
#2    46013   0.46372327    0.9586547
#3    46013   0.06058539    0.9586547
#4    46013   0.19743361    0.9586547

Пример данных

set.seed(2018)
df1 <- data.frame(
    COUNTYCD = c("46013", "46013", "46013", "46013"),
    val_from_df1 = runif(4))
df2 <- data.frame(
    COUNTYCD = c(" \"01001\" ", " \"01003\" ", " \"01005\" ", " \"01007\" ", " \"46013\" "),
    val_from_df2 = runif(5))
...