0

我在 CSV 文件中有以下内容,我希望它们在下面的 R 中具有相同的格式

01:00:00 02:00:00 03:00:00
15       80       67
30       44       2

我已经能够将它们放在一个变量中

textus="01:00:00 02:00:00 03:00:00 

15 80 67 

30 44 2"

然后

data <- unname(as.matrix(read.table(text = textus)))

之后,我尝试将它们与以下命令行放在一起:

data1 <- rep(data[1,],data[2,],data[3,])

但它不断给我以下错误行:

Message d'avis :
In rep(dat[1, ], dat[2, ], dat[3, ]) :
seul le premier élément de l'argument 'length.out' est utilisé

错误是法语,使事情变得更糟。

我尝试了以下方法,即使它只做了我希望 R 做的一半,它也能工作:

data1<-rep(dat[1,],dat[2,]) 

# results
01:00:00 02:00:00 03:00:00
15       80       67

data2<-rep(dat[1,],dat[3,])

# results
01:00:00 02:00:00 03:00:00
30       44       2

如果您对我所缺少的内容有任何意见,我将很乐意倾听。

最好的。

4

1 回答 1

1

如果您不介意在两者之间写入文件,这将是最简单的方法:

tmp <- read.table(text=textus)

write.table(t(tmp), "tmp.csv", row.names = FALSE, col.names = FALSE, sep = ",")

read.table("tmp.csv", sep = ",")
#         V1 V2 V3
# 1 01:00:00 15 30
# 2 02:00:00 80 44
# 3 03:00:00 67  2

没有理由在 R 中进行转置(如在输入文件中)。R 的 data.frame 结构旨在将变量放在列中,将观察值放在行中,并且大多数函数都为此进行了优化。如果您只想将其以转置形式打印,您应该修改print.data.frame.

于 2013-08-02T11:06:10.393 回答