2014-08-27 2 views
0

У меня есть четыре data.frames (DATA1, DATA2, DATA3 и DATA4)Объединение объектов класса «фактора» на R

Я заинтересован в получении доступа к одной конкретной переменной, которая является общей для всех data.frame: DATA1$Point DATA2$Point DATA3$Point DATA4$Point

class(DATA1$Point) 
[1] "factor"` 

Я хочу, чтобы объединить уровни каждого data.frame объекта в одном объекте

Что-то вроде:

TOTAL_POINTS <- merge(DATA1$Point,DATA2$Point,DATA3$Point,DATA4$Point) 

Но, очевидно, это не работает.

Я хочу знать, какие Points были посещены, принимая во внимание все объекты data.frames.

Как я могу это сделать? Заранее спасибо!

ответ

2

merge будет функция wrrong. Просто используйте factor(unlist(.)), но только после преобразования отдельных векторов фактора для характера первых, так как они могут иметь различные уровни атрибуты:

TOTAL_POINTS<-factor( unlist (lapply(list(DATA1$Point, 
             DATA2$Point, 
             DATA3$Point, 
             DATA4$Point) , 
            as.character) 
        )) 
+0

Спасибо за Ваше сообщение. но функция «factor» кажется неправильной в коде, который вы мне отправили: '> factor (c (lapply (list (Hylo $ Point, Hypo $ Point, Lipa $ Point, Rampho $ Point), as.character))) Ошибка в sort.list (y): 'x' должен быть атомарным для 'sort.list' Вы вызвали 'sort' в списке? ' – Mohr

+1

Возможно, замените' c' '' unlist'? Напомню, что вы не предложили тест. –

+1

@Mohr - имейте в виду, что мы не знаем, с чем вы работаете. Трудно диагностировать проблему, которую вы не видите. Возможно, вы получите небольшую часть своих данных. –

Смежные вопросы