Você precisa acumular as contagens por id e imprimir o resultado depois de processar o arquivo:
awk '!counts[$1] { counts[$1] = 0 }; $4 >= 4 { counts[$1]++ }; END { for (key in counts) print key, counts[key] }' toyModel
A primeira declaração garante que medimos os ids que nunca correspondem ao critério (terminando com 0 output). O segundo incrementa a contagem de linhas correspondentes. A última declaração itera sobre as chaves (ids) e imprime a contagem de chaves e correspondência.
Se o tamanho for muito grande para essa abordagem (a matriz counts
ficar muito grande) e seus IDs forem contíguos no arquivo, você poderá usar essa abordagem:
awk 'curid != $1 { if (NR > 1) print curid, count; curid = $1; count = 0 }; $4 >= 4 { count++ }; END { print curid, count }' toyModel
Isso mantém o ID e a contagem atuais e os imprime sempre que o ID muda (e no final). Sempre que o quarto campo for maior que 4, a contagem será incrementada e, sempre que o ID for alterado, a contagem será redefinida.