我将用一个例子解释我的问题,我们在R中有以下数据文件:
Species Diameter Height Amount
Oak 1 4 2
Beech 2 12 3
Maple 1.5 7.5 1
Oak 2 9 2
因此,我们有4列(Species
,Diameter
,Height
和Amount
)以及包含数据的多个行。我试图写一个代码将上面的数据转换为这种类型:
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)
我知道这是非常基本的,但我会非常高兴每一个提示/想法。
答案 0 :(得分:0)
在R中你应该阅读整个文件,例如:进入变量tab
。
然后你可以写tab2 <- tab[ ,-4]
。
-4意味着放弃第4列,逗号前面的任何内容都意味着所有的行&#39;。
然后将整个表写入文件。
请注意,这是在R中执行此类操作的首选方法。循环仅在真正需要时使用。
(您可能还想查看read.table而不是read.csv)
更新:
正如GregF所说,这是不完整的。我想得到这个答案,但后来看到他也有了他的答案。因此,请参阅他的评论,了解需要做什么才能获得所需的重复。