**Example**

Suppose in the famous `iris` data set, I have determined that when Sepal.Length > 5.0, there was an error in my measurement device. 

In this contrived example, I would like to keep the Sepal.Length column with its original value, but change the remaining columns to `NA` if the Sepal.Length > 5.0 for that row.

As an example, this:

```
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

```

Would become this:

```
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         NA           NA          NA   NA
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         NA           1.7         NA   NA

```

I could certain do this manually via vectorization. Something along the lines of:

```
iris$Sepal.Width <- ifelse(iris$Sepal.Length > 5.0, NA, iris$Sepal.Width)

```

In this approach however, I would need to manually specify every column.

**Question**

I strongly suspect there is a clever way to tackle this via either `purrr` or `dplyr`. Nevertheless, I've gotten myself down a `pmap` / `modify_at` rabbit hole. Any suggestions towards elegance would be much appreciated.

Thanks!