Пример файла данных (формат csv)
testdf <- read.csv("example.csv")
Я пытаюсь автоматизировать некоторый ростер-майнинг. В какой-то момент мне нужно разделить строки на основе имен с разделителями, поэтому cSplit из splitstackshape идеально подходит. Я также предшествую и следую за разделением с кучей формирования данных dplyr.
загруженные библиотеки:
library(data.table)
library(splitstackshape)
library(tidyr)
library(dplyr)
Проблема в том, что когда я загружаю dplyr после data.frame, я получаю следующее сообщение:
Attaching package: ‘dplyr’
The following objects are masked from ‘package:data.table’:
between, last
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
Затем, когда я пытаюсь использовать cSplit:
test <- cSplit(testdf, "Registrar", "/", direction = "long")
Я получаю эту ошибку:
Error in `[.tbl_df`(indt, , splitCols, with = FALSE) :
unused argument (with = FALSE)
Я пробовал различные перестановки - эта ошибка возникает только тогда, когда загружаются и data.frame, и dplyr (в любом порядке), а перезапуск R без dplyr или без его загрузки заставляет cSplit работать правильно.
Мне нужно иметь возможность использовать оба одновременно, и отсоединение dplyr не помогает (просто выдает отсутствующие ошибки dplyr).
Я видел эту тему, но они кажутся пришел к выводу, что данные повреждены. Это кажется вероятным, потому что, если я запускаю игрушечный набор данных,
Name <- "Bo / Ashley"
Date <- "2015-02-04"
testdf2 <- data.frame(Name, Date)
testtoy <- cSplit(testdf2, "Name", "/", direction = "long")
это работает нормально. Но я понятия не имею, как исправить эту "порчу".
Error in type.convert(unlist(x, use.names = FALSE)) : the first argument must be of mode character
, хотя я использовалstringsAsFactors=FALSE
вread.csv
- person akrun   schedule 24.08.2015type.convert=FALSE
сработала, но она также дает числовой индекс фактора вместо вектора символов. то естьtest <- cSplit(testdf, "Registrar", "/", direction = "long", type.convert=FALSE)
. Я думаю, что ошибка, которую я получил, может быть связана сclass
выходного столбца. Если этоfactor
, type.convert выдает эту ошибку. - person akrun   schedule 24.08.2015tbl_df
, поддержку которой я не добавил. - person A5C1D2H2I1M1N2O1R2T1   schedule 24.08.2015data.frame
в цепочку обработки (если только вы не можете изменить функцию и создать запрос на вытягивание). Спасибо. - person A5C1D2H2I1M1N2O1R2T1   schedule 24.08.2015tbl_dt
в ваш конвейер (и я, вероятно, смогу решить проблемы, добавив классtbl_dt
к моим функциямcSplit
. - person A5C1D2H2I1M1N2O1R2T1   schedule 24.08.2015