Próbuję zastosować pakiet dplyr i obliczyć liczbę wpisów do każdego numeru karty w zestawie danych z następujących funkcji:R-Error: data_frames może zawierać tylko 1d wektory atomowe i list
freq<- function(data){
data <- complete.dupremoved[order(-complete.dupremoved$SUMMA),]
aggregate(count ~., data=transform(complete.dupremoved,count=1), length)
complete.dupremoved$count <-complete.dupremoved[complete.dupremoved$KLIENDIKAARDINR,]
sample <- count(complete.dupremoved, vars = "KLIENDIKAARDINR")
complete.dupremoved<- merge(complete.dupremoved,sample, by ="KLIENDIKAARDINR")
return(complete.dupremoved)
}
The wyświetlany błąd to Błąd: dane_ramki mogą zawierać tylko 1d wektorów atomowych i list.
Kiedy zrobić: lapply (complete.dupremoved, klasa)
Niektóre kolumny są numeryczne, czynniki, charakter, całkowitą. Jakieś rozwiązanie, jak to rozwiązać? także debugger daje następujące elementy:
function (x)
{
stopifnot(is.list(x))
if (length(x) == 0) {
x <- list()
class(x) <- c("tbl_df", "tbl", "data.frame")
attr(x, "row.names") <- .set_row_names(0)
return(x)
}
names_x <- names2(x)
if (any(is.na(names_x) | names_x == "")) {
stop("All columns must be named", call. = FALSE)
}
ok <- vapply(x, is_1d, logical(1))
**if (any(!ok)) {
stop("data_frames can only contain 1d atomic vectors and lists",
call. = FALSE)**
}
n <- unique(vapply(x, NROW, integer(1)))
if (length(n) != 1) {
stop("Columns are not all same length", call. = FALSE)
}
class(x) <- c("tbl_df", "tbl", "data.frame")
attr(x, "row.names") <- .set_row_names(n)
x
}
Czy możesz podać mały przykład swoich danych, aby odtworzyć błąd? –
Wektory "czynnikowe" nie są atomowe. –
@ 42-, ale 'is.atomic (factor (" a "))' zwraca 'TRUE' ..? –