Использование R convert data.frame для простого вектора
У меня есть data.frame
:
> print(v.row)
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24
57 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167 167 167 165 177 177 177 177
> dput(v.row)
structure(list(X1 = 177, X2 = 165, X3 = 177, X4 = 177, X5 = 177,
X6 = 177, X7 = 145, X8 = 132, X9 = 126, X10 = 132, X11 = 132,
X12 = 132, X13 = 126, X14 = 120, X15 = 145, X16 = 167, X17 = 167,
X18 = 167, X19 = 167, X20 = 165, X21 = 177, X22 = 177, X23 = 177,
X24 = 177), .Names = c("X1", "X2", "X3", "X4", "X5", "X6",
"X7", "X8", "X9", "X10", "X11", "X12", "X13", "X14", "X15", "X16",
"X17", "X18", "X19", "X20", "X21", "X22", "X23", "X24"), row.names = 57L, class = "data.frame")
Я бы удалил все имена строк и столбцов, чтобы получить простой vector
. Но функция as.vector
не работает (она возвращает data.frame
).
> as.vector(v.row)
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24
57 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167 167 167 165 177 177 177 177
Ответы
Ответ 1
см. ?unlist
Учитывая структуру списка x, список исключений упрощает ее для создания вектора который содержит все атомные компоненты, которые встречаются в x.
unlist(v.row)
[1] 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167 167
167 165 177 177 177 177
ИЗМЕНИТЬ
Вы также можете сделать это с помощью as.vector
, но вам нужно предоставить правильный режим:
as.vector(v.row,mode='numeric')
[1] 177 165 177 177 177 177 145 132 126 132 132 132 126 120 145 167 167
167 167 165 177 177 177 177
Ответ 2
У меня был этот фрейм данных из csv
x <- as.numeric(dataframe$column_name)
отлично поработал. (то же самое с dataframe[3]
, 3 - мой индекс столбца не работал)
Ответ 3
Просто примечание ко второй части ответного ответа:
df <- data.frame(1:10)
as.vector(df, mode="integer") #Error
as.vector(df[[1]],mode="integer") #Works;
as.vector(df[[1]]) #Also works
т.е., по-видимому, вы должны выбрать элемент списка из кадра данных, хотя там только 1 элемент.