将数据文件加载到R时出现问题

时间:2015-04-14 08:02:20

标签: r

我无法将我的数据文件加载到R.我已经尝试了所有可能找到的函数,包括read.table和scan的许多不同变体。

该文件是.txt文件,包含一个数据块。它没有标题等。它只是一组包含在矩形中的结果,只有空格分隔不同的结果。

当我输入数据就好像它是一个表,并尝试查找数据摘要时,每一行都被视为自己的数据集。所以我最终得到了9个不同的摘要。

我需要识别数据,好像它是一个用逗号分隔的数字列表,但无论我做什么,我似乎都无法做到这一点。

另外,我有一个mac(如果它影响任何东西)。

任何帮助都会非常感激。谢谢。

2 个答案:

答案 0 :(得分:2)

这是另一种方法。我在Word中创建了text.txt,数据看起来像下面的df但没有行号或列名。我用read.table将其读入R中。

df <- read.table("~/R/text.txt", sep = "")
df

  V1 V2 V3 V4
1  1  3  5  7
2  2  4  6  8
3  1  2  3  4
4  5  6  7  8

library("tidyr") # to do what the `melt` function of reshape2 does
df2 <- gather(df)[-1] # arrange all the values in one variable [remove one column]

   value
1      1
2      2
3      1
4      5
5      3
6      4
7      2
8      6
9      5
10     6
11     3
12     7
13     7
14     8
15     4
16     8
summary(df2$value) # calculate the summary statistics

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   1.00    2.75    4.50    4.50    6.25    8.00 

答案 1 :(得分:1)

如果我正确理解了您的问题,那么您想要阅读以下内容(位于文件中,例如~/tmp/spaced-data.dsv):

1 2 3
4 5 6
7 8 9

作为单个向量:c(1, 2, 3, 4, 5, 6, 7, 8, 9)

如果您的文件不是很大,那么您可以执行以下操作:

> read.csv( text=paste0(readLines('~/tmp/spaced-data.dsv'), collapse=' '), 
            header=F, 
            sep=' '
          )
  V1 V2 V3 V4 V5 V6 V7 V8 V9
1  1  2  3  4  5  6  7  8  9