在多行使用R中的rep

时间:2013-08-02 10:09:17

标签: r

我在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

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

最佳。

1 个答案:

答案 0 :(得分: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