2
我還是R的新手,我試圖找到一種更好的方法來構建一個矩陣,其中日期爲行和標記爲填充了1和0的列該標籤適用於該日期的兩列csv文件。從R中的兩列中構建一個零和一個零的矩陣
我有一些現在可以使用的代碼,但我敢打賭,比我放在一起的黑客有更好的方法。
這裏有一個樣本輸入:
# Sample CSV Data
Date,Tag
01/01/2014,tag1
01/01/2014,tag2
01/01/2014,tag3
01/01/2014,tag4
01/01/2014,tag5
01/01/2014,tag6
01/01/2014,tag7
01/02/2014,tag1
01/02/2014,tag3
01/02/2014,tag4
01/02/2014,tag5
01/02/2014,tag6
01/03/2014,tag1
01/03/2014,tag4
01/03/2014,tag5
01/03/2014,tag6
01/03/2014,tag7
01/04/2014,tag1
01/04/2014,tag2
01/04/2014,tag3
01/04/2014,tag4
01/04/2014,tag6
01/04/2014,tag7
01/04/2014,tag9
01/05/2014,tag1
01/05/2014,tag3
01/05/2014,tag4
01/05/2014,tag5
01/05/2014,tag6
下面是我希望的輸出:
tag1 tag2 tag3 tag4 tag5 tag6 tag7 tag9
01/01/2014 1 1 1 1 1 1 1 0
01/02/2014 1 0 1 1 1 1 0 0
01/03/2014 1 0 0 1 1 1 1 0
01/04/2014 1 1 1 1 0 1 1 1
01/05/2014 1 0 1 1 1 1 0 0
這是我的工作R代碼裏面:
library(reshape2)
df <- read.csv("~/Desktop/tags.csv")
df$Value <- apply(df,1,function(row) 1)
tagMatrix <- dcast(df, Date~Tag, value.var="Value")
tagMatrix[is.na(tagMatrix)] <- 0
什麼是更好的方法從兩列數據框中構建這樣的矩陣?
謝謝!
邁克
wait ...「table-factorial」? :-) –
哇,說說我找到一種方法來做一些內置的東西。我不知道爲什麼我之前無法做到這一點。我想我是在三欄的桌子上而不是兩欄的。感謝您的解決方案! –
另外,爲了讓它回到我用作as.data.frame.matrix(myDataFrame)的矩陣數據框。 –