从数量列中写出新的相同行

时间:2015-02-12 15:10:10

标签: r

我将用一个例子解释我的问题,我们在R中有以下数据文件:

Species   Diameter    Height   Amount

Oak       1           4        2

Beech     2           12       3

Maple     1.5         7.5      1

Oak       2           9        2

因此,我们有4列(SpeciesDiameterHeightAmount)以及包含数据的多个行。我试图写一个代码将上面的数据转换为这种类型:

Species   Diameter    Height   
Oak       1           4  

Oak       1           4

Beech     2           12  

Beech     2           12 

Beech     2           12 

Maple     1.5         7.5   

Oak       2           9   

Oak       2           9

因此,列Amount现已消失,但我们获得了几行相同的行,这些行等于Amount列中的初始值。

我在实现这个代码时遇到了问题(我对R编程很新)。我在想:

line <- read.csv (file, nrows = 1, header=FALSE)

while{

    algoritm to add the rowns -> data.frame?

    write.csv(dataframe, fileadress)

}

close(file reader)
close (file writer)

我知道这是非常基本的,但我会非常高兴每一个提示/想法。

1 个答案:

答案 0 :(得分:0)

在R中你应该阅读整个文件,例如:进入变量tab

然后你可以写tab2 <- tab[ ,-4]

-4意味着放弃第4列,逗号前面的任何内容都意味着所有的行&#39;。

然后将整个表写入文件。

请注意,这是在R中执行此类操作的首选方法。循环仅在真正需要时使用。

(您可能还想查看read.table而不是read.csv)

更新:

正如GregF所说,这是不完整的。我想得到这个答案,但后来看到他也有了他的答案。因此,请参阅他的评论,了解需要做什么才能获得所需的重复。