2016-04-21 195 views
-1

我是新來的新來的R,我想我有一個簡單的問題,但不知道如何命名它,所以我找不到任何幫助通過搜索網絡。

我有一個數據集,想要從第一個變量中創建一個新的數據集。 工作的代碼如下所示:

em.table2 <- data.frame(em.table$item1,em.table$item2,...[here are some more]...,em.table$item22) 

爲了保持它更簡單,我想擺脫「em.table $」的 - 在建的每個變量前面...不幸的是我不知道這個功能,這樣做...... 我試了一下這樣的,但它沒有工作(和是一個相當尷尬的嘗試我猜):這裏

em.table2 <- data.frame(em.table$(item1,item2,item3,item4)) 

任何幫助?非常感謝!

+2

或者,我們可以'em.table [C( 「物品1」, 「ITEM2」, 「項目3」, 「ITEM4」)',閱讀關於'subset()'。另請參閱[這些帖子](http://stackoverflow.com/search?q=r+subset+a+dataframe)。 – zx8754

+0

看看'transform()' – jogo

+0

「我有一個數據集,想要用第一個變量中的幾個變量形成一個新的數據集。」 - >如果這是你的問題,標題真的很糟糕。下次記住:) –

回答

1

取而代之的是$操作的,請嘗試以下操作:

em.table2 <- em.table[,c("item1","item2","item3","item4")] 
+2

'em.table [,c(「item1」,「item2」,「item3」,「item4」)]'已經將子集作爲數據框對象,不需要將其包裝在數據中。再次構架。 – zx8754

+0

你說得對,我忘了刪除'data.frame'部分。 –

+0

是的,謝謝你們兩位! – Mathias

0

嘗試with

em.table2 <- with(em.table, data.frame(item1, item2, item3, item4)) 

但如果你只是想subset數據,還有更好的解決方案。