Qual é a diferença entre && e & and between || e | em r?

A resposta curta é que && e || retorne apenas um único valor (verdadeiro, escalar, comprimento-1) TRUE ou FALSE, enquanto | e & retorne um vetor depois de fazer comparações elemento a elemento.

O único local em R que você usa rotineiramente um valor escalar TRUE / FALSE está na condição de uma instrução if, portanto, você verá frequentemente && ou || usado em idiomas como:

if (length (x)> 0 && any (is.na (x))) {do.something ()}

Na maioria dos outros casos, você estará trabalhando com vetores e usar & e | em vez de.