0

我在使用保存数据write.table和使用读取数据时遇到问题read.table

我编写了一些代码,从数千个文件中收集数据,进行一些计算,然后创建一个数据框。在这个数据框中,我有 8 列和超过 11000 行。这些列包含 8 个变量,其中 3 个是有序因子;其他变量是数字。

当我在使用命令之前查看我的数据结构时,write.table我得到了我所期望的结果:

str(data)
'data.frame':   11424 obs. of  8 variables:
 $ a_KN      : num  8.56e-09 1.11e-08 1.45e-08 1.88e-08 2.45e-08 ...
 $ a_DTM     : num  5.05e-08 5.12e-08 5.19e-08 5.26e-08 5.33e-08 ...
 $ SF        : num  5.89 4.6 3.58 2.79 2.18 ...
 $ Energy    : Ord.factor w/ 6 levels "160"<"800"<"1.4"<..: 1 1 1 1 1 1 1 1 1 1 ...
 $ EnergyUnit: Ord.factor w/ 3 levels "MeV"<"GeV"<"TeV": 1 1 1 1 1 1 1 1 1 1 ...
 $ Location  : Ord.factor w/ 7 levels "BeamImpact"<"WithinBulky"<..: 5 5 5 5 5 5 5 5 5 5 ...
 $ Ti        : num  0.25 0.25 0.25 0.25 0.25 0.25 1 0.25 1 0.25 ...
 $ Tc        : num  30 28 26 24 22 20 30 18 28 16 ...

之后,我使用通常的write.table命令来保存我的文件:

write.table(data, file = "filename.txt")

现在,当我再次将这个文件读入 R 并查看结构时,我得到了:

mydata <- read.table("filename.txt", header=TRUE)

> str(mydata)
'data.frame':   11424 obs. of  8 variables:
 $ a_KN      : num  8.56e-09 1.11e-08 1.45e-08 1.88e-08 2.45e-08 ...
 $ a_DTM     : num  5.05e-08 5.12e-08 5.19e-08 5.26e-08 5.33e-08 ...
 $ SF        : num  5.89 4.6 3.58 2.79 2.18 ...
 $ Energy    : num  160 160 160 160 160 160 160 160 160 160 ...
 $ EnergyUnit: Factor w/ 3 levels "GeV","MeV","TeV": 2 2 2 2 2 2 2 2 2 2 ...
 $ Location  : Factor w/ 7 levels "10cmTarget","AdjBulky",..: 4 4 4 4 4 4 4 4 4 4 ...
 $ Ti        : num  0.25 0.25 0.25 0.25 0.25 0.25 1 0.25 1 0.25 ...
 $ Tc        : int  30 28 26 24 22 20 30 18 28 16 ...

你知道如何解决这个问题吗?这也让我感到困扰,因为我正在创建一个闪亮的应用程序,而这个更改后的课程不符合我的目的。

谢谢!

4

0 回答 0