There is no need to use a for loop. Many functions in R are vectorized. Here are three ways to filter out rows where the first column is an empty string.
suppressPackageStartupMessages(library(dplyr))
df <- data.frame(A = c("Q", "W", "", "E"), B = 1:4)
df
#> A B
#> 1 Q 1
#> 2 W 2
#> 3 3
#> 4 E 4
#filter using dplyr::filter
df2 <- filter(df, A != "")
df2
#> A B
#> 1 Q 1
#> 2 W 2
#> 3 E 4
#filter using []
df3 <- df[df$A != "", ]
df3
#> A B
#> 1 Q 1
#> 2 W 2
#> 4 E 4
#filter with subset
df4 <- subset(df, A != "")
df4
#> A B
#> 1 Q 1
#> 2 W 2
#> 4 E 4
Created on 2019-06-23 by the reprex package (v0.2.1)
Note that an empty string is not the same as a missing value, represented by NA.