簡體   English   中英

將向量作為單個觀測值添加到data.frame

[英]Add a vector as a single observation to a data.frame

我正在嘗試在data.frame中保存許多光譜測量值。 每次測量都具有許多屬性以及兩個光譜數據通道,每個通道具有2048個數據點。 我希望每個通道都是數據幀中的單個數據點。

像這樣:

  timestamp           type integration channel1 channel2
1 2011-10-02 02:00:01 D    2000        (spec)   (spec)
2 2011-10-02 02:00:07 D    2000        (spec)   (spec)

其中每個(spec)是2048個值的向量。 我根本無法正常工作,現在我向你們尋求幫助。

提前致謝。

您可以將矩陣添加為data.frame字段之一,因此必須將所有向量作為矩陣行。

DF <- data.frame(timestamp=1:3, type=LETTERS[1:3], integration=rep(2000, 3))
DF$channel1 <- matrix(rnorm(3*2048), nrow=3)
DF$channel2 <- matrix(rnorm(3*2048), nrow=3)
ncol(DF)# == 5

我認為您想要的是可行的,但我可能無法完全理解您的問題。 但請注意Joris的建議,因為這可能是存儲數據的更好方法。 通過將2048個值的向量存儲在列表中,然后將其作為列添加到數據框中,可以完成所需的操作。 您的表很難通過read.table導入(無論如何對我來說),因此我組成了自己的數據框和示例。

DF <- data.frame(timestamp=1:3, type=LETTERS[1:3], integration=rep(2000, 3))
DF$channel1 <- list(c(rnorm(2048)), c(rnorm(2048)), c(rnorm(2048)))
DF$channel2 <- list(c(rnorm(2048)), c(rnorm(2048)), c(rnorm(2048)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM