Verwenden, wenn sonst in einem Datenframe über mehrere Spalten

Ich habe einen großen Datensatz von Stichproben mit Deskriptoren darüber, ob die Stichprobe lebensfähig ist - sie sieht ungefähr so aus, wobei "desc" die Beschreibungsspalte ist und "blank" angibt, dass die Stichprobe nicht lebensfähig ist:

     desc        x        y        z
1   blank 4.529976 5.297952 5.581013
2   blank 5.906855 4.557389 4.901660
3  sample 4.322014 4.798248 4.995959
4  sample 3.997565 5.975604 7.160871
5   blank 4.898922 7.666193 5.551385
6   blank 5.667884 5.195825 5.232072
7   blank 5.524773 6.726074 4.767475
8  sample 4.382937 5.926217 5.203737
9  sample 4.976908 3.079191 4.614121
10  blank 4.572954 4.772373 6.077195

Ich möchte eine if else-Anweisung verwenden, um die Zeilen mit nicht verwendbaren Daten auf NA zu setzen. Der endgültige Datensatz sollte folgendermaßen aussehen:

     desc        x        y        z
1   blank       NA       NA       NA
2   blank       NA       NA       NA
3  sample 4.322014 4.798248 4.995959
4  sample 3.997565 5.975604 7.160871
5   blank       NA       NA       NA
6   blank       NA       NA       NA
7   blank       NA       NA       NA
8  sample 4.382937 5.926217 5.203737
9  sample 4.976908 3.079191 4.614121
10  blank       NA       NA       NA 

Ich habe eine for-Schleife ausprobiert, aber ich habe Probleme, die for-Schleife dazu zu bringen, alle Spalten in einer Schleife zu ändern. Mein echter Datensatz hat 40 Spalten, daher muss ich ihn lieber nicht in separaten Schleifen verarbeiten! Hier ist der Code, um jeweils eine Spalte zu ändern:

for(i in 1:length(desc)){
    if(dat$desc[i] =="blank"){
    dat$x[i] <- NA
    } 
    else {
    dat$x[i] <- dat$x[i]
    }
}

Ich habe die Beispieldaten mit diesem Skript erstellt:

desc <- c("blank", "blank", "sample", "sample", "blank", "blank", "blank",    "sample", "sample", "blank")
x <-  rnorm(10, mean=5, sd=1)
y <-  rnorm(10, mean=5, sd=1)
z <-  rnorm(10, mean=5, sd=1)

dat <- data.frame(desc,x,y,z)

Tut mir leid, wenn dies eine grundlegende Frage ist, habe ich den ganzen Morgen in Foren gesucht und konnte keine Lösung finden.

Jede Hilfe wird sehr geschätzt!