以下を使用して、RのSQLデータフレームからデータを取得します。
query <- "SELECT date, identifier, somevalue FROM mytable"
data <- sqlQuery(conn, query)
それは私に与えます:
> data
date identifier somevalue
1 2011-01-01 1 0.50
2 2011-01-02 1 0.40
3 2011-01-01 2 0.70
4 2011-01-02 2 0.10
5 2011-01-03 2 0.25
data <- data.frame(date=c("2011-01-01","2011-01-02","2011-01-01","2011-01-02","2011-01-03"), identifier=c(1,1,2,2,2), somevalue=c(0.5,0.4,0.7,0.1,0.25))
行名として日付を使用し、列名として識別子を使用して、これを数値マトリックスに変換したいと思います。
> output
1 2
2011-01-01 0.5 0.70
2011-01-02 0.4 0.10
2011-01-03 NA 0.25
output <- matrix(c(0.5,0.4,NA,0.7,0.1,0.25),3)
rownames(output) <- c("2011-01-01","2011-01-02","2011-01-03")
colnames(output) <- c(1,2)
これを行う方法がわかりません。私は調べましたがreshape
、match
行名または識別子が重複しているため、常に失敗します。