Удалить уровень из списка извлечения во фрейм данных

У меня есть фрейм данных, как это

    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)
Другие вопросы по тегам