2014-11-14 57 views
0

我想在R中編寫一個函數,它可以比較兩個不相等的數據幀並根據第一個數據幀修改內容比較的結果比較兩個不相等的數據幀,並根據第二個數據幀替換一個數據幀中的字符串

static_graph_DF = data.frame(node= #10000 nodes#, label = rep("suceptible",10000)) 
infecteNodes_DF = data.frame(node=#random 1000 nodes from the above mentioned nodes #, label = rep("infected",1000)) 

我想要做的是,找到被感染(通過檢查infecteNodes_DF是否static_graph_DF IE)在static_graph_DF節點和更換static_graph_DF的標籤「敏感」到「感染」 。

我知道,使用合併(),在%,匹配()功能%,我可以寫的功能,但我仍堅持這一功能,並不能繼續。

回答

0

對於數字類型node,沒有必要的功能。

levels(static_graph_DF$label) <- c("suceptible","infected") 
static_graph_DF$label[infecteNodes_DF$node] <- "infected" 
+0

我收到以下錯誤消息,而這樣做「的警告信息: 在'[< - factor'('* TMP *',感染$ infected_nodes,值= C(NA,: 無效的因素水平,NA生成「 – Jeremy 2014-11-14 22:14:30

+0

我試過你的解決方案爲較小的數據集,long <-data.frame(UniqID = sample(letters [1:20],20),label = rep(」sus「,20)) short < data.frame(UniqID = sample(letters [1:20],10),label = rep(「inf」,10))long $ label [short $ UniqID] =「inf」但是它不起作用,給出了相同的以上錯誤您可以使用此數據集來檢查您的解決方案 – Jeremy 2014-11-14 22:16:56

+0

修改第一條語句以使用您的級別名稱查看「幫助(級別)」以瞭解更多詳細信息爲什麼 – vpipkt 2014-11-14 22:20:13