2011-09-22 46 views
2

兩個表我有兩個尺寸相同的表(矩陣),一個包含相關係數等與P值。我想將它們組合成一張桌子。例如,假設表1中的變量A1和A2之間的相關係數爲0.75,表2中的p值爲0.045。現在在我的組合表3中,我想要使用:重新定義和合並在R或SAS

表1的condition1:如果a表1的單元中的係數值小於0.4,那麼「+」,0.4 < =係數< 0.7然後「++」else「+++」,

表2的condition2:如果單元格中的pvalue表2的小於0.01則 「+++」,0.01 < = p值< 0.05然後 「++」 其他 「+」。

因此對應於表3中A1和A2單元值應該是這樣的:+++/++,其中「+++」對應於表中的0.75 1值和++對應表中的0.045 2的p值和「/」只是一個分隔符。

我想做到這一點無論是SAS或[R

回答

4

下面是其中R

首先溶液,創建一些僞數據的工作與

corr <- matrix(runif(16),4,4) 
ps <- matrix(runif(16)^5,4,4) 

每個矩陣可以單獨格式化。請注意,這將它們放下到矢量中。矩陣結構將在兩個格式化版本粘貼在一起後可以恢復。

corr.fmt <- cut(corr, c(0, 0.4, 0.7, 1), labels=c("+","++","+++")) 
ps.fmt <- cut(ps, c(0, 0.01, 0.05, 1), labels=c("+++","++","+")) 
res <- matrix(paste(corr.fmt, ps.fmt, sep="/"), nrow(corr), ncol(corr)) 

,如果你想要把轉換在線

res <- matrix(paste(cut(corr, c(0, 0.4, 0.7, 1), labels=c("+","++","+++")), 
        cut(ps, c(0, 0.01, 0.05, 1), labels=c("+++","++","+")), 
        sep="/"), nrow(corr), ncol(corr)) 
這可以被組合成一個單獨的語句