Here we go! BUT, it works great for a continuous line. With line
break(s), I got the nuisance "\n" inserted.
>
x<-strsplit("hhsize,urban,male,gov,nongov,married",",");
x
[[1]]
[1] "hhsize"? "urban"?? "male"???
"gov"???? "nongov"? "married"
> x<-strsplit("hhsize,urban,male,
+???????????? gov,nongov,married",","); x
[[1]]
[1] "hhsize"??????????? "urban"???????????? "male"
"\n??????????? gov"
[5] "nongov"??????????? "married"
On 2021/1/5 ?? 05:34, Eric Berger wrote:>
zx<-strsplit("age,exercise,income,white,black,hispanic,base,somcol,grad,employed,unable,homeowner,married,divorced,widowed",",")
>
>
>
> On Tue, Jan 5, 2021 at 11:01 AM Steven Yen <styen at ntu.edu.tw
> <mailto:styen at ntu.edu.tw>> wrote:
>
> Thank you, Jeff. IMO, we are all here to make R work better to
> suit our
> various needs. All I am asking is an easier way to define variable
> list
> zx, differently from the way z0 , x0, and treat are defined.
>
> ?> zx<-colnames(subset(mydata,select=c(
> + age,exercise,income,white,black,hispanic,base,somcol,grad,employed,
> +???? unable,homeowner,married,divorced,widowed)))
> ?> z0<-c("fruit","highblood")
> ?> x0<-c("vgood","poor")
> ?> treat<-"depression"
> ?> eq1 <-my.formula(y="depression",x=zx,z0)
> ?> eq2 <-my.formula(y="bmi",?????? x=zx,x0)
> ?> eq2t<-my.formula(y="bmi",?????? x=zx,treat)
> ?> eqs<-list(eq1,eq2); eqs
> [[1]]
> depression ~ age + exercise + income + white + black + hispanic +
> ???? base + somcol + grad + employed + unable + homeowner + married +
> ???? divorced + widowed + fruit + highblood
>
> [[2]]
> bmi ~ age + exercise + income + white + black + hispanic + base +
> ???? somcol + grad + employed + unable + homeowner + married +
> ???? divorced + widowed + vgood + poor
>
> ?> eqt<-list(eq1,eq2t); eqt
> [[1]]
> depression ~ age + exercise + income + white + black + hispanic +
> ???? base + somcol + grad + employed + unable + homeowner + married +
> ???? divorced + widowed + fruit + highblood
>
> [[2]]
> bmi ~ age + exercise + income + white + black + hispanic + base +
> ???? somcol + grad + employed + unable + homeowner + married +
> ???? divorced + widowed + depression
>
> On 2021/1/5 ?? 04:18, Jeff Newmiller wrote:
> > IMO if you want to hardcode a formula then simply hardcode a
> formula. If you want 20 formulas, write 20 formulas. Is that
> really so bad?
> >
> > If you want to have an abbreviated way to specify sets of
> variables without conforming to R syntax then put them into data
> files and read them in using a format of your choice.
> >
> > But using NSE to avoid using quotes for entering what amounts to
> in-script data is abuse of the language justified by laziness...
> the amount of work you put yourself and anyone else who reads your
> code through is excessive relative to the benefit gained.
> >
> > NSE has its strengths... but as a method of creating data
> objects it sucks. Note that even the tidyverse (now) requires you
> to use quotes when you are not directly referring to something
> that already exists. And if you were... you might as well be
> creating a formula.
> >
> > On January 4, 2021 11:14:54 PM PST, Steven Yen <styen at
ntu.edu.tw
> <mailto:styen at ntu.edu.tw>> wrote:
> >> I constantly define variable lists from a data frame (e.g., to
> define a
> >>
> >> regression equation). Line 3 below does just that. Placing
each
> >> variable
> >> name in quotation marks is too much work especially for a long
> list so
> >> I
> >> do that with line 4. Is there an easier way to accomplish
> this----to
> >> define a list of variable names containing
"a","c","e"? Thank you!
> >>
> >>> data<-as.data.frame(matrix(1:30,nrow=6))
> >>>
colnames(data)<-c("a","b","c","d","e");
data
> >>? ? a? b? c? d? e
> >> 1 1? 7 13 19 25
> >> 2 2? 8 14 20 26
> >> 3 3? 9 15 21 27
> >> 4 4 10 16 22 28
> >> 5 5 11 17 23 29
> >> 6 6 12 18 24 30
> >>> x1<-c("a","c","e"); x1 #
line 3
> >> [1] "a" "c" "e"
> >>> x2<-colnames(subset(data,select=c(a,c,e))); x2 # line 4
> >> [1] "a" "c" "e"
> >>
> >> ______________________________________________
> >> R-help at r-project.org <mailto:R-help at r-project.org>
mailing list
> -- To UNSUBSCRIBE and more, see
> >> https://stat.ethz.ch/mailman/listinfo/r-help
> <https://stat.ethz.ch/mailman/listinfo/r-help>
> >> PLEASE do read the posting guide
> >> http://www.R-project.org/posting-guide.html
> <http://www.R-project.org/posting-guide.html>
> >> and provide commented, minimal, self-contained, reproducible
code.
>
> ______________________________________________
> R-help at r-project.org <mailto:R-help at r-project.org> mailing
list --
> To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> <https://stat.ethz.ch/mailman/listinfo/r-help>
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> <http://www.R-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>
[[alternative HTML version deleted]]