如何在R中创建具有不同行和列的一组数据

时间:2012-11-29 17:31:15

标签: r list dataframe

也许有人可以帮助我。我在R中计算了不同的结果,我现在正试图在一个txt中合并它们。数据。但是,不知怎的,我无法创建一个数据文件,我可以对所有内容进行概述。

一个名为“min.temp”的数据框,包含13行和3列(id,日期和值)

id Date      Temperature

1. 1967-04-25 -3.086980
2. 1969-04-20 -4.489397
3. 1972-04-26 -5.587154 
4. 1976-04-29 -5.684246 
5. 1976-04-30 -5.297752 
6. 1977-04-20 -3.615099 
7. 1981-04-21 -3.672259 
8. 1981-04-24 -3.860317 
9. 1991-04-20 -4.021680 
10. 1991-04-21 -6.366689 
11. 1991-04-22 -4.785906 
12. 1997-04-21 -4.989829 
13. 1997-04-22 -4.447067

和另外两个值“aver.temp”和“max.temp”,每行只有1行和2列:

Average temperature: 10 

Maximum temperature: 25

我试图合并列表中的所有信息,但当我尝试集成所有信息时,它会以某种方式破坏我的列表。我的目标是获得一个名为temperature.txt的txt.file,其中我可以为aver.temp和max.temp创建单独的行,然后由其他行跟随。最后,它应该是这样的。

Average temperature: 10

Maximum temperature: 25

id. Date      Temperature

1. 1967-04-25 -3.086980
2. 1969-04-20 -4.489397  
3. 1972-04-26 -5.587154
4. 1976-04-29 -5.684246 
5. 1976-04-30 -5.297752 
6. 1977-04-20 -3.615099 
7. 1981-04-21 -3.672259 
8. 1981-04-24 -3.860317 
9. 1991-04-20 -4.021680 
10. 1991-04-21 -6.366689 
11. 1991-04-22 -4.785906 
12. 1997-04-21 -4.989829 
13. 1997-04-22 -4.447067

任何人都可以提供帮助。

2 个答案:

答案 0 :(得分:4)

用于写入文件的大多数函数(catwritewrite.table等)也可以写入文件连接,这是将多个内容写入a的更好方法文件。在你的情况下,它看起来像这样:

fh <- file("output.txt", "w")   # creates a file connection

cat("Average temperature: 10", "\n", file = fh)
cat("Maximum temperature: 25", "\n", file = fh)
write.table(min.temp, file = fh)

close(fh)   # closes the file connection

另一种方法是使用大多数这些功能提供的append选项:

cat("Average temperature: 10", "\n", file = "output.txt", append = TRUE)
cat("Maximum temperature: 25", "\n", file = "output.txt", append = TRUE)
write.table(min.temp,  file = "output.txt", append = TRUE)

但是第二种方法不如第一种方法有效,因为每次要向其添加内容时都会打开和关闭文件。

答案 1 :(得分:0)

data.frame可以是列表的元素。

FinalTextFile <- list()
FinalTextFile$DataFrame <- DF
FinalTextFile$AverageTemperature <- mean(DF$Temperature)
FinalTextFile$MaximumTemperature <- max(DF$Temperature)