[英]replace a value in a dataframe in a list of data.frames and save each output to a new list
我有一個由幾列和不同行數組成的data.frames
列表,當Cumulative
列的值為零但遞歸時,我想創建一組新的列表,即,一個輸出為Cumulative列的第一個值為零,另一個輸出的第二個值為零,依此類推。
這是我的清單的樣子:
$test
$ABO
Locus Gene Link Semantic Combined Cumulative Notes
1 ABO GTF3C5 0.0173 0.2622 0.1398 0.1398 Good
2 ABO GBGT1 0.0734 0.0790 0.0762 0.2160
3 ABO ABO 0.1363 0.0125 0.0744 0.2904
4 ABO BRD3 0.0006 0.1048 0.0527 0.3431
5 ABO VAV2 0.0020 0.1023 0.0521 0.3952
6 ABO WDR5 0.0546 0.0441 0.0494 0.4446
7 ABO RPL7A 0.0345 0.0640 0.0493 0.4939
$ACSL1
Locus Gene Link Semantic Combined Cumulative Notes
37 ACSL1 CENPU 0.3358 0.0000 0.1679 0.1679 Good
38 ACSL1 CCDC110 0.0175 0.2900 0.1538 0.3217
39 ACSL1 TRAPPC11 0.0143 0.2658 0.1400 0.4617
40 ACSL1 IRF2 0.0316 0.2063 0.1189 0.5806
41 ACSL1 ANKRD37 0.0707 0.1001 0.0854 0.6660
42 ACSL1 ACSL1 0.0333 0.1157 0.0745 0.7405
$ADAMTS9
Locus Gene Link Semantic Combined Cumulative Notes
56 ADAMTS9 ATXN7 0.1424 1 0.5712 0.5712 Good
57 ADAMTS9 C3orf49 0.3463 0 0.1732 0.7444
$ADCY5
Locus Gene Link Semantic Combined Cumulative Notes
62 ADCY5 ADCY5 0.4132 0.8535 0.6333 0.6333 Good
63 ADCY5 SEMA5B 0.1679 0.0000 0.0839 0.7172
$ANK1
Locus Gene Link Semantic Combined Cumulative Notes
75 ANK1 POLB 0.0820 0.2270 0.1545 0.1545 Good
76 ANK1 NKX6-3 0.2563 0.0000 0.1282 0.2827
77 ANK1 ANK1 0.1314 0.0690 0.1002 0.3829
78 ANK1 SFRP1 0.0628 0.1206 0.0917 0.4746
79 ANK1 AP3M2 0.1118 0.0626 0.0872 0.5618
80 ANK1 PLAT 0.1554 0.0000 0.0777 0.6395
81 ANK1 CHRNA6 0.0031 0.1418 0.0725 0.7120
我一直在嘗試實現一個for loop
但是我只得到一個列表,而Cumulative
列的最后一個值為零。 我需要對每個輸出列表進行下游分析這是到目前為止的代碼:
list.1 <- list()
for (i in 1:length(test)){
for (j in 1:dim(scores.thres.v2[[i]])[1]){
df <- scores.thres.v2[[i]]
df[j,"Cumulative"] <- 0
list.1[[i]] <- df
}
}
謝謝
我對您的問題的解釋:遍歷列表中的每個data.frame。 在循環內,遍歷每一行並返回data.frame,其中變量“ Cumulative”為0。最終結果是數據幀列表的列表。
這是實現此目的的一種方法:
myList <- lapply(test, function(i) lapply(1:nrow(i),
function(j) {i[j, "Cumulative"] <- 0; i}))
數據
ABO <- read.table(header=T, , stringsAsFactors=F, text="Locus Gene Link Semantic Combined Cumulative
1 ABO GTF3C5 0.0173 0.2622 0.1398 0.1398
2 ABO GBGT1 0.0734 0.0790 0.0762 0.2160
3 ABO ABO 0.1363 0.0125 0.0744 0.2904
4 ABO BRD3 0.0006 0.1048 0.0527 0.3431
5 ABO VAV2 0.0020 0.1023 0.0521 0.3952
6 ABO WDR5 0.0546 0.0441 0.0494 0.4446
7 ABO RPL7A 0.0345 0.0640 0.0493 0.4939")
ACSL1 <- read.table(header=T, , stringsAsFactors=F, text="Locus Gene Link Semantic Combined Cumulative
37 ACSL1 CENPU 0.3358 0.0000 0.1679 0.1679
38 ACSL1 CCDC110 0.0175 0.2900 0.1538 0.3217
39 ACSL1 TRAPPC11 0.0143 0.2658 0.1400 0.4617
40 ACSL1 IRF2 0.0316 0.2063 0.1189 0.5806
41 ACSL1 ANKRD37 0.0707 0.1001 0.0854 0.6660
42 ACSL1 ACSL1 0.0333 0.1157 0.0745 0.7405")
test <- list("ABO"=ABO, "ACSL1"=ACSL1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.