Bonjour voici un code dont je n'arrive pas à comprendre totalement la syntaxe, je viens ici pour éclairer mes lumières
Il y a dans ce cas deux passages obscurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 library(data.table) e <- structure(list( ID=c("A","B","C","D","a"), T1=c("1","2","3","4","a"), T2=c("a1","a2","a3","a4","a"), G1=c("T1","T2","T3","T4","b")), row.names = c(NA, -5L), class = c("tbl_df", "tbl", "data.frame") ) liste = which( sapply( names(e), function(x) grepl("^T.",x) ) ) tous_egaux <- function(x) as.integer(all(x[1] == x[-1],na.rm=T)) e <- as.data.table(e) e<- e[, TOUS_EGAUX := apply(.SD, 1, tous_egaux), .SDcols = liste]
Tout d'abord dans la fonction je ne comprends pas la syntaxe all(x[1] == x[-1],na.rm=T) (sauf le na.rm=Tque j'ai rajouté et que je comprends bien )
Puis ensuite le apply(.SD,1,function) ( à quoi sert le 1 ? ) et le signe := qui semble être un signe d'affectation ?
Merci de votre lecture, et peut-être de me donner quelques éléments d'explications.
Partager