Удалить уровень из списка извлечения во фрейм данных
У меня есть фрейм данных, как это
df <- data.frame(letters=letters[1:5], numbers=seq(1:5))
и скажем, что я хочу добавить первый столбец в список
firstColumn <- df[,1]
> firstColumn[[1]]
[1] a
Levels: a b c d e
Возможно, я хочу удалить уровень, чтобы иметь строку
любая помощь, пожалуйста?
Спасибо
3 ответа
Решение
Если я понимаю ваш вопрос, вы пытаетесь преобразовать в персонажа.
Пытаться
as.character(firstColumn[[1]])
Либо определите вашу переменную как символ с самого начала:
df <- data.frame(letters=letters[1:5], numbers=seq(1:5), stringsAsFactors=FALSE)
Или преобразовать его потом:
firstColumn <- as.character(df[,1])
Если вам нужен список, но без уровней, сначала импортируйте столбец вашего фрейма данных как вектор, а затем превратите его в список. Здесь однострочник:
firstColumn_list <- as.list(as.vector(df[,1]))
Вы также можете использовать drop.levels
функция из пакета gdata
:
firstColumn_list <- as.list(df[,1])
firstColumn_list_wo_levels <- gdata::drop.levels(firstColumn_list)