2016-04-21 193 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数据,还有更好的解决方案。