2017-03-08 119 views
0

我做R對象,而讀取XLSX文件,像這樣 -拆分[R對象,並制定符合

a = read.xlsx("Global_Manifest.xlsx", sheetIndex=1, colName=T) 
a <- a[a$visit.1=="SCR" & a$processed.data.available == 1,] 
a$sampleName <- paste(a$best.response,a$subject,a$visit.1,"VAF=",a$AF) 

一個$ sampleName的結果是這樣的「以舊換新700-666 SCR VAF = 0.46 「

但是,一旦我完成了分析,我想匹配一個$ sampleName以獲得每個結果的$性別信息。性別是Global_Manifest.xlsx文件中的標題之一。

這個想法是通過堆疊的barplot來顯示結果,以查看男性和女性受試者結果概況之間的差異。

難道無論如何都建議一種簡單的方法來拆分$ sampleName對象並與$ best.response,$ subject,$ visit.1,$ AF匹配,並且如果所有匹配都獲得$ $ gender 。

+1

尋求幫助時,你應該包括[reproduicble示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)與樣品在問題iteself中輸入數據。這使得它更容易幫助你。目前還不清楚爲什麼當你已經擁有'a'中的所有其他列時,你需要對sampleName值進行deparse。下一步你想要執行什麼?給出所需的輸出。 – MrFlick

回答

1

沒有數據,我無法測試這個,看看我是否給你我相信你所要求的。但是,這應該起作用:

在創建新列之後,使用上面的代碼確保將所有舊列保留在一起。然後創建一個使用dplyrgroup_by表:

b<- group_by(a , best.response, subject, visit, AF, VAF, gender) 

這會給你所有你想要一起評估5列的表格,並把它們分爲男性和女性。一旦你有了這張表,你可以像處理其他數據表一樣使用它。

如果您刪除重複b,你將有每個VAF和性別的單排,你可以再次使用的子集:

b<-unique(b) 
b[,c("VAF","gender")] 

這應該返回一個子集,只與您創建的VAF複合鍵和與之相關的gender。如果您實際上想要統計每個參數的數量,而不是採用唯一身份驗證,然後將管道group_by聲明歸入summarize()

b<- group_by(a , best.response, subject, visit, AF, VAF, gender)%>% 
summarize(count=n())