在上一条消息中 按列名将表转换为矩阵
我想对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)
Run Code Online (Sandbox Code Playgroud)
我应该使用以下data.csv文件
x <- read.csv(textConnection("data.csv"), header=TRUE)
Run Code Online (Sandbox Code Playgroud)
我应该将以下内容用于名为xyz的R表
x <- xyz(textConnection(xyz), header=TRUE)
Run Code Online (Sandbox Code Playgroud)
是否必须使用textConnection来使用cast命令?
谢谢.
Ric*_*ton 17
几年后......
read.table和它的衍生物一样,read.csv现在有一个text参数,所以你不需要再textConnection直接使用s了.
read.table(text = "
x y z
1 1.9 'a'
2 0.6 'b'
", header = TRUE)
Run Code Online (Sandbox Code Playgroud)
主要用途textConnection是当在SO上提问的人只是将他们的数据转储到屏幕上,而不是编写代码让答案者自己生成它.例如,
Blah blah blah我被困在这里是我的数据plz help omg
xyz
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)
Run Code Online (Sandbox Code Playgroud)
提问者提供代码时更好,如下所示:
the_data <- data.frame(x = 1:2, b = c(2.9, 0.6), c = letters[1:2])
Run Code Online (Sandbox Code Playgroud)
当您使用自己的数据时,您不应该使用textConnection.
my_data <- read.csv("my data file.csv")应该足够了.