在上一条消息中 Convert table into matrix by column names
我想对csv表或R中的表使用相同的方法。你能不能教我如何修改第一个命令行?
x <- read.table(textConnection(' models cores time 4 1 0.000365 4 2 0.000259 4 3 0.000239 4 4 0.000220 8 1 0.000259 8 2 0.000249 8 3 0.000251 8 4 0.000258' ), header=TRUE)
library(reshape) cast(x, models ~ cores)
我应该使用以下的data.csv文件
x <- read.csv(textConnection("data.csv"), header=TRUE)
我是否应该将以下内容用于名为xyz
的R表x <- xyz(textConnection(xyz), header=TRUE)
是否必须使用textConnection来使用强制转换命令?
谢谢。
答案 0 :(得分:17)
几年后......
read.table
及其衍生产品read.csv
现在有一个text
参数,因此您无需再直接使用textConnection
s。
read.table(text = "
x y z
1 1.9 'a'
2 0.6 'b'
", header = TRUE)
textConnection
的主要用途是,在SO上提问的人只是将他们的数据转储到屏幕上,而不是编写代码让答案者自己生成。例如,
Blah blah blah我被困在这里是我的数据plz help omg
x y z
1 1.9'a'
2 0.6'b'
等。
在这种情况下,您可以从屏幕上复制文本并将其打包到textConnection
的调用中,如下所示:
the_data <- read.table(tc <- textConnection("x y z
1 1.9 'a'
2 0.6 'b'"), header = TRUE); close(tc)
当提问者提供代码时会更好:
the_data <- data.frame(x = 1:2, b = c(2.9, 0.6), c = letters[1:2])
当您使用自己的数据时,您不应该使用textConnection
my_data <- read.csv("my data file.csv")
就足够了。