R-读取水平排列的csv文件,替换值并再次保存

时间:2018-09-26 14:48:59

标签: r csv

我有一个水平排列的CSV filesamplefile.csv),标题在第一列中。同样,每一行都有不同数量的列。我想读取此CSV文件,替换其中一个单元格值,然后再次将其另存为CSV文件,其格式与原始文件相同,并且其列和行数完全相同。 这听起来很简单,但是我正在努力寻找一种方法。我尝试在thisthis帖子的帮助下完成此操作,但是仍然无法以所需的方式获得输出。有人可以帮我吗?

修改

我尝试使用this post中的答案来读取CSV文件(samplefile.csv),这为我提供了以下输出,其中标题有些混乱,空单元格被替换为NA值,这不是我的意思想要

aaa <- read.tcsv("samplefile.csv")
aaa

     Header.1 Header.2..units. Header.3..units. Header.3..units..1
1   Some text           0.0625                0             264896
2        <NA>           0.0625             1200             664747
3        <NA>           0.0625             1380                  1
4        <NA>           0.2500             1500                  1
5        <NA>           0.6250             1620                 NA
6        <NA>           1.3125             1740                 NA
7        <NA>           2.4375             1860                 NA
8        <NA>           3.5625             1980                 NA
9        <NA>           4.6250             2100                 NA
10       <NA>           5.0000             2220                 NA
11       <NA>           5.0000             2340                 NA
12       <NA>           4.6250             2460                 NA
13       <NA>           3.5625             2580                 NA
14       <NA>           2.4375             2700                 NA
15       <NA>           1.3125             2820                 NA
16       <NA>           0.6250             2940                 NA
17       <NA>           0.2500             3060                 NA
18       <NA>           0.0625             3180                 NA
19       <NA>           0.0000             3300                 NA
20       <NA>           0.0000            18000                 NA

此外,我不确定修改后(例如,替换单元格值之后)再次保存文件时如何恢复为原始格式

我尝试通过使用t(转置)再次保存文件,如下所示

write.csv(t(aaa), file ="samplefile_e.csv", row.names=T)

但仍然,保存的文件中存在以下问题

  1. 标题弄乱
  2. 空单元格被替换为NA
  3. 当我在文本编辑器中打开文件时,所有值都显示为字符

1 个答案:

答案 0 :(得分:0)

我终于从Bill Dunlap的R-帮助邮件列表中得到了一个解决方案。

用他的话

使用read.table读取每行具有可变条目数的数据可能是一个错误-data.frames(read.table返回)不适用于此类数据。 R中的数据作为列表 名称。

可以找到完整答案here