Skip to content

Commit

Permalink
Function for calculating appropriate number of PCs to include for bat…
Browse files Browse the repository at this point in the history
…ch identification/correction
  • Loading branch information
Vera N. Karlbauer committed Nov 4, 2023
1 parent db6fd31 commit 2a826ea
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions data/Calculate_PC_Cutoff.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
### Function calculating number of PCs to be kept for batch identification and correction
# threshold for N of PCs: start at PC1 and keep including PCs until drop in explained variance from PCi to PCi+2 < 1%
# if threshold >2, include first 2 PCs (needed for plots)
# include max 10 PCs

pc_cutoff <- function(data){
for(i in 1:nrow(data)) {
if(i > 10) break
else if((data[i,]$var_explained - data[i + 2,]$var_explained) >=1) PC_number <- i
else if(PC_number < 2) PC_number = 2
else break
}
return(PC_number)
}

0 comments on commit 2a826ea

Please sign in to comment.