Betrachten Sie dieses Beispielunerwartetes Verhalten mit grep und dplyr TBL im Vergleich zu data.frame
library(dplyr)
simple_dat_df <- data.frame(num = 1:5, let = letters[1:5], stringsAsFactors = FALSE)
grepl("[a-z]", simple_dat_df$let)
grepl("[a-z]", simple_dat_df[,"let"])
simple_dat_tbl <- data_frame(num = 1:5, let = letters[1:5])
grepl("[a-z]", simple_dat_tbl$let)
grepl("[a-z]", simple_dat_tbl[,"let"])
Die ersten drei grepl
Befehle geben [1] TRUE TRUE TRUE TRUE TRUE
. Der letzte nur [1] TRUE
.
Ich würde erwarten, dass es das gleiche sein wird. Was ist die Absicht? Und wie kann die letzte Aussage auch einen Vektor zurückgeben?
'simple_dat_tbl $ let' ist äquivalent zu' unname (unlist (simple_dat_tbl [, "let"])) ' – RHertel