This might work for you:

cols <- LETTERS # actually this will be cols <- colnames(df) in your example
# Create a data frame to select columns
choose <- data.frame(cols, select=0, stringsAsFactors=FALSE)
# Run the editor and replace 0 with 1 in the select column 
# for each variable you wish to include
fix(choose)
# Your list of variables will be the vector mycols
mycols <- choose$cols[choose$select==1]


David L. Carlson
Department of Anthropology
Texas A&M University

-----Original Message-----
From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of BR_email
Sent: Sunday, April 23, 2017 3:47 PM
To: Jeff Newmiller <jdnew...@dcn.davis.ca.us>; r-help@r-project.org
Subject: Re: [R] "Copy-pastable" output of 1000 plus variables

Jeff:
Thanks, Please see my reply to David.
Bruce

Bruce Ratner, Ph.D.
The Significant Statistician™
(516) 791-3544
Statistical Predictive Analtyics -- www.DMSTAT1.com
Machine-Learning Data Mining and Modeling -- www.GenIQ.net
  

Jeff Newmiller wrote:
> Coming from an Excel background, copying and pasting seems attractive, but it 
> does not create a reproducible record of what you did so it becomes quite 
> tiring and frustrating after some time has passed and you return to your 
> analysis.
>
> Nitpick: you put the setdiff function in the row selection position, an error 
> I am sure Hadley did not recommend.
>
> Since R is programmable, there are far more ways to select columns than just 
> setdiff. Since your description of desired features is vague, you are 
> unlikely to get the answer you would really like from your email. Some 
> possibilities to think about:
>
> a) use regular expressions and grep or grepl to select by similar character 
> patterns. E.g. all columns including the the substring "value" or "key": 
> grep( "key|value", names( dta ). Possible to specify very complex selection 
> patterns, but there are whole books on regular expressions, so you can't 
> expect to learn all about them on this R-specific mailing list.
>
> b) use a separate csv file with a column listing each column name, and then 
> one column for each subset you want to define, using TRUE/FALSE values to 
> include or not include the column name identified. E.g.
>
> # typically easier to manage in an external data file, online for example only
> colsets <- read.csv( text=
> "Colname,set1,set2
> key,TRUE,TRUE
> value1,TRUE,FALSE
> value2,TRUE,FALSE
> factor1,FALSE,TRUE
> ",header=TRUE,as.is=TRUE)
> dta[ , colsets$set1 ]
>
> Also your criteria of "clean listing" and "copy-pasteable" are likely 
> mutually exclusive, depending how you interpret them. You might be able to 
> use dput to export a set of column names that can be re-imported accurately, 
> but you might not regard it as "clean" if you are thinking "readable".

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to