【发布时间】:2014-12-25 23:44:49
【问题描述】:
我正在尝试从不留空格的列表中拆分元素。如果我的字符串是:
formula_nn<-flag_compro ~ A_CLI_monto_sucursal_1 + A_CLI_monto_sucursal_2 +
A_CLI_monto_sucursal_3 + A_CLI_monto_sucursal_4 + A_CLI_promociones +
A_CLI_dias_cliente + A_CLI_sucursales + A_CLI_promos_enviadas +
A_CLI_promos_compras + A_CLI_produni + A_CLI_frecuencia_compra +
county + A_CLI_mid + A_M_0705_monto + A_GEOMKG_p_una_unidad +
A_GEOMKG_p_20_unidades + A_GEOMKG_p_casas_nuevas + A_GEOMKG_p_casas_viejas +
A_GEOMKG_p_3_autos + A_GEOMKG_p_auto + A_GEOMKG_p_camina +
A_GEOMKG_p_posgrado + A_GEOMKG_p_nativos + A_GEOMKG_p_extranjeros +
A_GEOMKG_p_ciudadanos + flag_incluido + monto_sucs + PComSPEnv +
PEnvSDCli + MSucSPrComp + suc1_bin + suc2_bin + suc4_bin
我试过了:
strsplit(as.character(formula_nn), split="\\+")
但我仍然得到空白。 我也试过了:
a<-gsub("[ + ]",' ' ,as.character(formula_nn))
b<-strsplit(as.character(formula_nn), split=" ")
但如果我执行 b[3],我会得到几乎完整的列表,但仍然带有“+”。
【问题讨论】:
-
你应该使用
b<-strsplit(as.character(a), split=" ")而不是b<-strsplit(as.character(formula_nn), split=" ")?? (把刚刚创建的a代替formula_nn),还有,为什么不只是strsplit(as.character(formula_nn), split="[ + ]")? -
或者你也可以
scan(text=gsub('[^[:alnum:]_]+', ' ', formula_nn),what='', quiet=TRUE)