對於R編程和一般編程,我很無知,但我有兩段代碼遇到了類似的問題(對我來說)。在這裏,我們去...如何在R中的前一個函數的輸出中創建新的函數?
(A)
我現在有一個返回患者,試驗次數,以及其他信息的結果的函數。它看起來像這樣:
ID trial start finish mark mean number
903 A34 19 90910 18775077 8236 -0.0197 1.972876
904 A34 19 18782377 23089165 2343 0.0374 2.052525
905 A34 19 23093018 43203507 10267 -0.0162 1.977668
906 A34 19 43203990 43447468 93 0.2138 2.319478
907 A34 19 43447802 43663369 112 -0.0355 1.951387
908 A34 19 43663624 43834506 80 -0.5385 1.376973
909 A34 19 43834848 59097854 8655 -0.0095 1.986873
以下是我爲它編寫的代碼。
getRS <- function(CNA, samples = NULL, trial = NULL){ race <- racing.summary(subset(CNA, samplelist = samples, triallist = trial)) race$number <- (2^race$mean)*2 return(race) }
我想知道是否有可能使用這個輸出在一個新的功能做簡單的算術。我想從'start'減去'finish'來創建'length',用上面的所有方法創建一個新的'mean',並提取最大的'number'來創建'max.number',同時不顯示'mark'在所有。
類似這樣的輸出:
ID trial max.length mean max.number
A34 19 20110489 -0.05260000 2.3194777
AND/OR
(B)
我有創建所有患者的已經計算的數據的數據幀的替代功能。我用這個代碼:
getSum <- function(){
race_mean <- as.data.frame(df %>% group_by(ID, trial) %>% summarise(mean = mean(mean)))
race_length <- as.data.frame(df %>% group_by(ID,trial) %>% summarise(max.length = max(end - start)))
seg_number <- as.data.frame(df %>% group_by(ID,trial) %>% summarise(max.number = max(number)))
race_m_l_merge <- as.data.frame(merge(x = race_length, y = race_mean))
race_m_l_n_merge <- as.data.frame(merge(x = race_m_l_merge, y = race_number))
ordered_summary <- as.data.frame(race_m_l_n_merge[order(race_m_l_n_merge$trial),])
View(ordered_summary)
}
其中給出一個像這樣的輸出:
ID trial max.length mean max.number
1 A22 1 96637812 -1.648909e-01 2.6989533
25 A23 1 101363101 -6.275455e-02 2.2468441
49 A24 1 72598875 -5.878000e-02 2.8204004
73 A25 1 112628591 -3.346917e-01 2.0675182
97 A26 1 55490417 7.621429e-02 2.4512200
121 A28 1 130879821 -4.218571e-02 2.0679481
145 A29 1 72590096 -3.093417e-01 2.3450196
169 A30 1 32642030 4.242500e-02 2.6375528
193 A32 1 34350731 -8.188372e-02 2.1149155
217 A33 1 77537981 -1.305833e-01 2.1125713
有了這個,我想創建一個功能來指定我想查找喜歡哪個ID和審判所以:Function("A22",1)
。
我希望我的未來R腳本可以在未來的工作中任意使用,所以任何幫助都會對我的問題A,B或者兩者都非常感謝!甚至建議鏈接到有用的網站。 :)
非常感謝!我很感激你花時間做到這一點,真的很喜歡編輯我現有的代碼的建議! –