Аргументы в data.frame () в R для остановки автоматического изменения имени столбца - PullRequest
0 голосов
/ 25 октября 2018

У меня есть набор данных в R, который я пытаюсь поместить во второй фрейм данных.

Я не совсем уверен, что это уместно, но на всякий случай данные являются чем-то вроде этого:

V1 V2 V3 V4 V5 V6
ab 10 98 0.9 0.1 abc
cd 11 99 0.8 0.05 cde

Так что я пытался установить его подмножество, выполнив следующее:

df_new = data.frame(data$V2, data$V5, data$V6)

Это на самом деле работало в прошлом, поэтому я ничего не думал об использовании здесь,но по какой-то причине это выглядело следующим образом:

data.V2 data.V5 data.V6
10      0.1     abc
11      0.05    cde

Итак, по какой-то причине функция добавляла имя исходного фрейма данных к именам столбцов, когда я его подбирал.Я проверил документацию и не увидел опции для предотвращения этого (я просто хочу сохранить исходные имена).Так что я не совсем уверен, что именно здесь пошло не так.

1 Ответ

0 голосов
/ 25 октября 2018

Когда вы пытаетесь использовать, например, data$V2, это то, что не имеет имени:

data$V2
# [1] 10 11

Итак, такое поведение ожидается.Лучшим вариантом, вероятно, будет

data[, c("V2", "V5", "V6")]
#   V2   V5  V6
# 1 10 0.10 abc
# 2 11 0.05 cde

или, если вы хотите придерживаться data.frame,

with(data, data.frame(V2, V5, V6))
#   V2   V5  V6
# 1 10 0.10 abc
# 2 11 0.05 cde

Что-то более длинное, но с возможностью назначения любых имен будет

data.frame(A = data$V2, B = data$V5, C = data$V6)
#    A    B   C
# 1 10 0.10 abc
# 2 11 0.05 cde

или

with(data, data.frame(A = V2, B = V5, C = V6))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...