2013-07-13 3 views
5

Я хочу, чтобы произвести new dataframe из old больших (многих переменных) я использую функцию cbind.data.frame, и он идет, как этоСоздание нового фрейма данных из старого фрейма данных?

new <- cbind.data.frame(old$var1, old$var2, old$var3) 
str(new) 
    'data.frame': 100 obs. of 3 variables: 
$ old$var1  : num 

Почему var1 по-прежнему принадлежит old$?
Я хотел использовать только new$var1, но он возвращает object not found.

Что я делаю неправильно?

+10

Почему не просто 'новый <- старый [с ("var1", "var2", "var3")]'? –

ответ

13

Объединить оба других других ответов, делая это:

New <- data.frame("var1" = old$var1, 
        "var2" = old$var2, 
        "var3" = old$var3) 
+0

Благодарю всех вас за ваши предложения, я особенно люблю это, потому что он дает вам возможность изменять имена переменных – Pulse

2

Вы не делаете ничего плохого, нужно просто переименовать столбцы в новом кадре данных с помощью:

names(new) <- c("var1","var2","var3") 

Теперь вы сможете использовать new$var1, и так далее.

Надеюсь, это решает вашу проблему.

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