2014-10-29 50 views
-2

从文件中读取,我有以下格式的文件(只是数字,没有别的):我如何在列有R

12.5 18.75 18.75 37.5 31.25 31.25 
13.6 12.8 15.6 32.6 41 26.4 
13.6 12.8 15.6 32.6 41 26.4 
9.375 7.8125 11.71875 46.09375 36.71875 17.1875 
. 
. 
. 

还有更多的线路。有没有一种简单的方法可以将6列读入单独的R向量中进行进一步处理?

任何意见将不胜感激。

+0

看一看帮助'read.table()'和这个[FAQ网站]的文件(http://www.ats.ucla.edu/stat/r/faq/input data_R.htm)用于将数据输入到R中。 – smillig 2014-10-29 06:49:29

+0

不清楚您是否有许多单独的文件,试图读入R或仅有一个文件 – 2014-10-29 08:23:44

+0

我只有一个文件需要读取。 :) – Stefan 2014-10-29 09:10:40

回答

1

尝试以下:

mydf = read.table(text=" 
12.5 18.75 18.75 37.5 31.25 31.25 
13.6 12.8 15.6 32.6 41 26.4 
13.6 12.8 15.6 32.6 41 26.4 
9.375 7.8125 11.71875 46.09375 36.71875 17.1875 
", header=F) 

mydf 
     V1  V2  V3  V4  V5  V6 
1 12.500 18.7500 18.75000 37.50000 31.25000 31.2500 
2 13.600 12.8000 15.60000 32.60000 41.00000 26.4000 
3 13.600 12.8000 15.60000 32.60000 41.00000 26.4000 
4 9.375 7.8125 11.71875 46.09375 36.71875 17.1875 

基本上,复制所有的线,然后在R端子以下(在之间则需要通过按下移位插入件所有行中):

mydf = read.table(text=" 
<paste your lines here> 
", header=F) 

是myDF将是一个data.frame:

str(mydf) 
'data.frame': 4 obs. of 6 variables: 
$ V1: num 12.5 13.6 13.6 9.38 
$ V2: num 18.75 12.8 12.8 7.81 
$ V3: num 18.8 15.6 15.6 11.7 
$ V4: num 37.5 32.6 32.6 46.1 
$ V5: num 31.2 41 41 36.7 
$ V6: num 31.2 26.4 26.4 17.2 

您可以通过像FOLL命令来访问每个元素因为:

mydf$V1 
[1] 12.500 13.600 13.600 9.375 

对于从文件中读取:

read.table(filename, header = FALSE, sep = "") 

也可以使用:

read.csv(file, header = TRUE, sep = ",") 
read.delim(file, header = TRUE, sep = "\t") 
read.delim2(file, header = TRUE, sep = "\t") 

如需帮助,给予命令:

?read.table 
+0

感谢输入rnso,但我需要从文件读取数据,手动输入它不是我的情况下的选项。 – Stefan 2014-10-29 09:06:33

+0

谢谢你这么多人,你是救生员。 – Stefan 2014-10-30 00:24:53

+0

我没有15的声望,这就是为什么它不允许我“投票”。 :)当我达到15时,我一定会投票。在此之前 - 谢谢你,上帝保佑你。 – Stefan 2014-10-30 03:14:37

3

方式ř工作,你应该阅读它们放入一个矩阵或数据帧和访问的,所述变量(列)根据需要,例如,通过with或通过使用$[。见?with?"$"?"["

在20位数中差不多19次,我只是在该数据上使用read.table(或可能是read.delim)将其放入数据帧中。由于它似乎没有可变标签,因此我会使用colnames来设置数据框中变量的名称。

大部分剩余部分时间我可能会使用as.matrix将它放在矩阵中。有一段时间我会改为matrix(scan(),...)

+0

你会发布一些代码吗? – Stefan 2014-10-29 06:38:59

+0

我写的代码将取决于它的存储位置,或者如果我粘贴它等等,甚至它有多大......这不是真的“为我写一个程序”网站,但如果是这样,你就不得不提供更多的信息来使其可行。在R的每个帮助页面末尾都有使用函数的例子,如果您搜索互联网(通过谷歌),您可以找到无数'read.table'和其他正在使用的函数的示例。 'mydata = read.table(,header = FALSE)'应该可以工作,如果你把文件名的全部地址写入(R文件名的工作方式)。 – 2014-10-29 06:43:00

+0

或尝试'mydata = read.table(file.choose(),header = FALSE)'...但对于某些数据集我不会使用其中任何一个。 – 2014-10-29 06:46:36