晚上好,正常化數據幀的水平
我還是新來的R,所以如果這個問題似乎對你很明顯提前抱歉。 我目前正在研究藥物篩選協議,並在Excel中創建了.csv表格,並將分析結果輸出。我輸入它作爲數據幀作爲raw.data
成R具有以下結構:
| Sample | Group | Parameter Drug 1 | Parameter Drug 2 | Time Parameter Drug 1 (ms) |
|---------------|-------|------------------|------------------|----------------------------|
| Heart_Sample1 | Heart | 2.4 | 9.0 | 1.5 |
| Heart_Sample1 | Heart | 2.29 | 22.2 | 3.4 |
| Heart_Sample1 | Heart | 3.4 | 3.5 | 4.5 |
| Heart_Sample1 | Heart | 5.2 | 8.4 | 6.5 |
| Heart_Sample1 | Heart | 2.3 | 34.1 | 7.8 |
| ... | Organ | value | value | time |
| Heart_Sample2 | Heart | 10.4 | 10.2 | 1.5 |
| Heart_Sample2 | Heart | 8.4 | 2.45 | 3.6 |
| ... | Organ | value | value | time |
| Liver_Sample1 | Liver | 13.4 | 44.5 | 2.8 |
| ... | Organ | 2.3 | value | time |
參數表示某個參數我實驗測量(例如神經元尖峯)的值。參數時間表示峯值出現的記錄時間。
我轉化raw.data
成mod.data
與gather
用下面的公式:
mod.data <- gather(raw.data, `Parameter Drug 1`, `Parameter Drug 2`, `Parameter Drug 3`, key = "Drug", value = "value")
| Sample | Group | Time Parameter Drug 1 (ms) | Drug | value |
|---------------|-------|----------------------------|-----------------|-------|
| Heart_Sample1 | Heart | | Baseline | |
| Heart_Sample1 | Heart | | Baseline | |
| Heart_Sample1 | Heart | | Concentration 1 | |
| Heart_Sample1 | Heart | | Concentration 1 | |
| Heart_Sample1 | Heart | | Concentration 2 | |
然後我生成的地塊,通過採樣和分離,以便具有所發生的事情,以所述參數的明確的概述,過時間,在所有的樣本。結果是一個龐大的情節陣列,約200個地塊。
由於不同的器官有不同的價值觀,並在相同的器官,我可以找到非常不同的值,鱗片有每個樣品內進行匹配,清楚地瞭解什麼是樣品中去。
我然後試圖用下面的函數正常化:
normalize <- function(x){
(x - min(x))/(max(x)-min(x))
}
其中x是我感興趣的參數。不幸的是,它需要爲min
和max
各自min
和整個參數max
,無論樣品和集團。我也嘗試子集,但這意味着要爲每個樣本創建一個子集,然後將它們合併到一個圖中。我也嘗試用group_by(Sample, Group)
,如RStudio的cheatsheet描述,但我無法正規化功能應用到生成的數據幀。
TL;博士我的問題是:我怎麼能正常化,從0到1,每個樣品中,我的價值觀?
預先感謝您的答案。
問候
謝謝你的回答。如果我運行它,我得到Sample1的值爲1,而Sample2的值爲0,這不幸的是不正確。 https://dl.dropboxusercontent.com/u/36889/Screen%20Shot%202017-03-28%20at%2022.52.31。png – Mollan
我編輯了我的答案,使其可以用'set.seed'重現,並且更容易用'arrange'讀取輸出。每組中對應於最小/最大值的值總是爲0和1,所以我很害怕我不完全明白你的意思 – Craig
謝謝,對不起,作爲新手,我有幾個困難。在你的例子中,我發現不正確的是一切都在相同的0-1歸一化(即整個列爲0和1)。我想有四個0和四個1(中間有值),每個對應於每個樣本。 – Mollan