subset states
For programming it is better to use the standard subsetting functions like
[, and in particular the non-standard evaluation of argument subset can have unanticipated consequences.
To me it is not clear, how this can lead to errors after reading Advanced R - Non-standard evaluation in subset. Assume I have the following code snippet:
myfun <- function(...) {
...
df <- data.frame(col1 = c("a", "b", NA), col2 = 1:3, col3 = 11:13)
df_s <- subset(x = df, subset = col1=="a", select = c(col1, col2))
# In the following I only use df_s in some way
return(...)
}
To me, this looks save to use in scripts / functions?
Minor issue: Can I include row.names(df_s) <- NULL in subset using ...? I could figure that out...
CodePudding user response:
This warning in the docs comes from the fact that subset() use non-standard evaluation, which makes it hard to use in custom functions when you want to pass custom subsetting conditions to a dataset. This is already addressed in this answer.
In your case however, you want to use subset() in a custom function but only to apply a known subsetting condition to a known dataset, not to pass custom conditions to subset(). There is no problem to evaluate subset() in this case.
