我有以下格式的文件(只是数字,没有别的):
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 :(得分:3)
R的工作方式,您应该将它们读入矩阵或数据框,并根据需要访问其中的变量(列),例如,通过with
或使用$
或[
。请参阅?with
,?"$"
和?"["
。
在二十分之二的近十九次中,我只是对该数据(或者read.table
)使用read.delim
将其放入数据框中。由于它似乎没有变量标签,我然后使用colnames
来设置数据框中变量的名称。
剩下的大部分时间我可能会使用as.matrix
将其放在矩阵中。偶尔我会matrix(scan(),...)
代替。{/ p>
答案 1 :(得分: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终端中输入以下内容(在中间你需要通过按shift-insert粘贴所有行):
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
您可以通过以下命令访问每个元素:
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