Проблемы с full_join в R. нет применимого метода для "символов" - PullRequest
1 голос
/ 27 февраля 2020

Я новичок в мире R, я борюсь с функцией full_join. Я уверен, что проблема проста. Я работал над другими ситуациями, я полагаю, что они были такими же, как в настоящем. Во всяком случае, возможно, кто-то может мне помочь. Давайте go:

У меня есть несколько наборов данных в большом списке:

NDVI2003 <- ls(pattern = "x2003_meanNDVI_m.*$") 
PixelQa2003 <- ls(pattern = "x2003_meanPixelQa_m.*$") 
full_list <- do.call(c, list(NDVI2003,PixelQa2003))

Первые две функции просто захватывают некоторые файлы из папки. Эти файлы выглядят так:

> str(x2003_meanNDVI_m1)
'data.frame':   354 obs. of  5 variables:
 $ date       : chr  "2001-12-03" "2001-12-10" "2001-12-19" "2001-12-26" ...
 $ 2003_NDVI_1: num  0.441 0.518 0.322 0.311 0.499 0.319 0.163 0.134 0.452 0.536 ...
 $ 2003_NDVI_2: num  0.377 0.446 0.075 0.1 0.006 0.279 0.368 0.135 0.423 0.522 ...
 $ 2003_NDVI_3: num  0.332 0.397 0.07 0.093 0.006 0.236 0.469 0.127 0.411 0.535 ...
 $ 2003_NDVI_4: num  0.653 0.621 0.536 0.064 0.652 0.576 0.52 0.158 0.666 0.663 ...

Третья функция просто собирает все эти файлы:

    > head(full_list,20)
 [1] "x2003_meanNDVI_m1"    "x2003_meanNDVI_m2"    "x2003_meanNDVI_m3"    "x2003_meanNDVI_m4"    "x2003_meanNDVI_m5"   
 [6] "x2003_meanNDVI_m6"    "x2003_meanPixelQa_m1" "x2003_meanPixelQa_m2" "x2003_meanPixelQa_m3" "x2003_meanPixelQa_m4"
[11] "x2003_meanPixelQa_m5" "x2003_meanPixelQa_m6"

Пока все очень просто. Теперь дело доходит до проблемы ... Я хочу объединить все эти файлы по столбцу «дата». Эта та же самая процедура работает над другими скриптами, которые я создал:

data2003 <- reduce(full_list, full_join, by="date")

Но я продолжаю получать сообщение об ошибке:

> data2003 <- reduce(full_list, full_join, by="date")
Error in UseMethod("full_join") : 
  no applicable method for 'full_join' applied to an object of class "character"

Пока что я попробовал:

  • Изменение типа столбца с символа на дату, на число ... Ничего .
  • Изменение порядка пакетов dplyr и plyr при открытии R.
  • Изменение имен переменных и т. Д.
  • full_lst <- list(NDVI2003,PixelQa2003) вместо full_list <- do.call(c, list(NDVI2003,PixelQa2003))
  • -Добавление full_list <- mget(full_list)
  • Google часами ищу ответ ...

Любая помощь будет очень кстати.

...