Re: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
David,I appreciate you suggestion, but it won't work for me. I need to replace the space for a period at the time the data are read, not afterward. My variables names have periods I want to keep, if I use your suggestion I will replace the period inserted when the data are read, as well as the period that I want to keep. Thank you, John John David Sorkin M.D., Ph.D. Professor of Medicine Chief, Biostatistics and Informatics University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine Baltimore VA Medical Center 10 North Greene Street GRECC (BT/18/GR) Baltimore, MD 21201-1524 (Phone) 410-605-7119 (Fax) 410-605-7913 (Please call phone number above prior to faxing) David L Carlson dcarl...@tamu.edu 06/08/15 10:21 AM You can use gsub() to change the names: dat - data.frame(Var 1=rnorm(5, 10), Var 2=rnorm(5, 15)) dat Var.1Var.2 1 9.627122 14.15376 2 10.741617 16.92937 3 8.492926 15.23767 4 12.226146 15.19834 5 8.829982 14.46957 names(dat) - gsub(\\., _, names(dat)) dat Var_1Var_2 1 9.627122 14.15376 2 10.741617 16.92937 3 8.492926 15.23767 4 12.226146 15.19834 5 8.829982 14.46957 - David L Carlson Department of Anthropology Texas AM University College Station, TX 77840-4352 -Original Message- From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of John Sorkin Sent: Monday, June 8, 2015 9:16 AM Cc: r-help@r-project.org Subject: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline I am reading a csv file. The column headers have spaces in them. The spaces are replaced by a period. I want to replace the space by another character (e.g. the underline) rather than the period. Can someone tell me how to accomplish this?Thank you, John John David Sorkin M.D., Ph.D. Professor of Medicine Chief, Biostatistics and Informatics University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine Baltimore VA Medical Center 10 North Greene Street GRECC (BT/18/GR) Baltimore, MD 21201-1524 (Phone) 410-605-7119410-605-7119 (Fax) 410-605-7913 (Please call phone number above prior to faxing) Confidentiality Statement: This email message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. __ 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. Call Send SMS Call from mobile Add to Skype You'll need Skype CreditFree via Skype Confidentiality Statement: This email message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. __ 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.
Re: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
John, I like using stringr or stringi for this type of thing. stringi is written in C and faster so I now typically use it. You can also use base functions. The main trick is the handy names() function. example - data.frame(Col 1 A = 1:3, Col 1 B = letters[1:3]) example Col.1.A Col.1.B 1 1 a 2 2 b 3 3 c library(stringi) names(example) - stri_replace_all_fixed(names(example), ., _) example Col_1_A Col_1_B 1 1 a 2 2 b 3 3 c R. Mark Sharp, Ph.D. Director of Primate Records Database Southwest National Primate Research Center Texas Biomedical Research Institute P.O. Box 760549 San Antonio, TX 78245-0549 Telephone: (210)258-9476 e-mail: msh...@txbiomed.org On Jun 8, 2015, at 9:15 AM, John Sorkin jsor...@grecc.umaryland.edu wrote: I am reading a csv file. The column headers have spaces in them. The spaces are replaced by a period. I want to replace the space by another character (e.g. the underline) rather than the period. Can someone tell me how to accomplish this?Thank you, John John David Sorkin M.D., Ph.D. Professor of Medicine Chief, Biostatistics and Informatics University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine Baltimore VA Medical Center 10 North Greene Street GRECC (BT/18/GR) Baltimore, MD 21201-1524 (Phone) 410-605-7119 (Fax) 410-605-7913 (Please call phone number above prior to faxing) Confidentiality Statement: This email message, including any attachments, is for ...{{dropped:12}} __ 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.
Re: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
You can use gsub() to change the names: dat - data.frame(Var 1=rnorm(5, 10), Var 2=rnorm(5, 15)) dat Var.1Var.2 1 9.627122 14.15376 2 10.741617 16.92937 3 8.492926 15.23767 4 12.226146 15.19834 5 8.829982 14.46957 names(dat) - gsub(\\., _, names(dat)) dat Var_1Var_2 1 9.627122 14.15376 2 10.741617 16.92937 3 8.492926 15.23767 4 12.226146 15.19834 5 8.829982 14.46957 - David L Carlson Department of Anthropology Texas AM University College Station, TX 77840-4352 -Original Message- From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of John Sorkin Sent: Monday, June 8, 2015 9:16 AM Cc: r-help@r-project.org Subject: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline I am reading a csv file. The column headers have spaces in them. The spaces are replaced by a period. I want to replace the space by another character (e.g. the underline) rather than the period. Can someone tell me how to accomplish this?Thank you, John John David Sorkin M.D., Ph.D. Professor of Medicine Chief, Biostatistics and Informatics University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine Baltimore VA Medical Center 10 North Greene Street GRECC (BT/18/GR) Baltimore, MD 21201-1524 (Phone) 410-605-7119 (Fax) 410-605-7913 (Please call phone number above prior to faxing) Confidentiality Statement: This email message, including any attachments, is for th...{{dropped:12}} __ 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] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
I am reading a csv file. The column headers have spaces in them. The spaces are replaced by a period. I want to replace the space by another character (e.g. the underline) rather than the period. Can someone tell me how to accomplish this?Thank you, John John David Sorkin M.D., Ph.D. Professor of Medicine Chief, Biostatistics and Informatics University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine Baltimore VA Medical Center 10 North Greene Street GRECC (BT/18/GR) Baltimore, MD 21201-1524 (Phone) 410-605-7119 (Fax) 410-605-7913 (Please call phone number above prior to faxing) Confidentiality Statement: This email message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. __ 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.
Re: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
Easiest? Use sub() to replace the periods after the fact. You can also use the check.names or the col.names arguments to read.table() to customize your import. Sarah On Mon, Jun 8, 2015 at 10:15 AM, John Sorkin jsor...@grecc.umaryland.edu wrote: I am reading a csv file. The column headers have spaces in them. The spaces are replaced by a period. I want to replace the space by another character (e.g. the underline) rather than the period. Can someone tell me how to accomplish this?Thank you, John John David Sorkin M.D., Ph.D. Professor of Medicine Chief, Biostatistics and Informatics University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine Baltimore VA Medical Center 10 North Greene Street GRECC (BT/18/GR) Baltimore, MD 21201-1524 (Phone) 410-605-7119 (Fax) 410-605-7913 (Please call phone number above prior to faxing) -- Sarah Goslee http://www.functionaldiversity.org __ 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.
Re: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
Then using Sarah's suggestion something like? dat - read.table(text= + 'Var 1' Var.2 + 1 6 + 2 7 + 3 8 + 4 9 + 5 10, header=TRUE, col.names=c(Var_1, Var.2)) dat Var_1 Var.2 1 1 6 2 2 7 3 3 8 4 4 9 5 510 David C From: John Sorkin [mailto:jsor...@grecc.umaryland.edu] Sent: Monday, June 8, 2015 9:25 AM To: David L Carlson Cc: r-help@r-project.org Subject: RE: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline David, I appreciate you suggestion, but it won't work for me. I need to replace the space for a period at the time the data are read, not afterward. My variables names have periods I want to keep, if I use your suggestion I will replace the period inserted when the data are read, as well as the period that I want to keep. Thank you, John John David Sorkin M.D., Ph.D. Professor of Medicine Chief, Biostatistics and Informatics University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine Baltimore VA Medical Center 10 North Greene Street GRECC (BT/18/GR) Baltimore, MD 21201-1524 (Phone) 410-605-7119 (Fax) 410-605-7913 (Please call phone number above prior to faxing) David L Carlson dcarl...@tamu.edu 06/08/15 10:21 AM You can use gsub() to change the names: dat - data.frame(Var 1=rnorm(5, 10), Var 2=rnorm(5, 15)) dat Var.1 Var.2 1 9.627122 14.15376 2 10.741617 16.92937 3 8.492926 15.23767 4 12.226146 15.19834 5 8.829982 14.46957 names(dat) - gsub(\\., _, names(dat)) dat Var_1 Var_2 1 9.627122 14.15376 2 10.741617 16.92937 3 8.492926 15.23767 4 12.226146 15.19834 5 8.829982 14.46957 - David L Carlson Department of Anthropology Texas AM University College Station, TX 77840-4352 -Original Message- From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of John Sorkin Sent: Monday, June 8, 2015 9:16 AM Cc: r-help@r-project.org Subject: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline I am reading a csv file. The column headers have spaces in them. The spaces are replaced by a period. I want to replace the space by another character (e.g. the underline) rather than the period. Can someone tell me how to accomplish this?Thank you, John John David Sorkin M.D., Ph.D. Professor of Medicine Chief, Biostatistics and Informatics University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine Baltimore VA Medical Center 10 North Greene Street GRECC (BT/18/GR) Baltimore, MD 21201-1524 (Phone) 410-605-7119410-605-7119 (Fax) 410-605-7913 (Please call phone number above prior to faxing) Confidentiality Statement: This email message, including any attachments, is for th...{{dropped:24}} __ 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.
Re: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
I've taken the liberty of copying this back to the list, so that others can participate in or benefit from the discussion. On Mon, Jun 8, 2015 at 10:49 AM, John Sorkin jsor...@grecc.umaryland.edu wrote: Sarah, I am not sure how I use check.names to replace every space in the names of my variables with an underline. Can you show me how to do this? My current code is as follows: check.names just tells R not to reformat your column names. If they aren't already what you want, you'll need to do something else. data - read.csv(C:\\Users\\john\\Dropbox (Personal)\\HanlonMatt\\fullgenus3.csv) The problem I has is that my column names are not unique, e.g., I have multiple columns whose column names are (in CSV format): X Y, X Y, X Y, X Y R reads the names as follows: X.Y, X.Y.1, X.Y.2, X.Y.3 I need to have the names look like: X_Y, X_Y.1, X_Y.2, X_Y.3 You've been saying that you want to replace every space with an underscore, but that's not what your example shows. Instead, you want to let R import the names and add the identifying number (though if you do it yourself you can get the number to match the column number, which is neater), then change the FIRST underscore to a period. I'd import them with check.names=FALSE, then modify them explicitly: mynames - c(x y, x y, x y, x y) mynames [1] x y x y x y x y mynames - sub( , ., mynames) mynames [1] x.y x.y x.y x.y mynames - paste(mynames, seq_along(mynames), sep=_) mynames [1] x.y_1 x.y_2 x.y_3 x.y_4 You could also let R modify them, then use sub() to change the first underscore to a period and leave the rest alone. Sarah [[alternative HTML version deleted]] __ 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.
Re: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
On 08/06/2015 10:23 AM, Sarah Goslee wrote: Easiest? Use sub() to replace the periods after the fact. You can also use the check.names or the col.names arguments to read.table() to customize your import. Yes, check.names is the right idea. Use check.names = FALSE, then use sub() or gsub() to replace the spaces with underscores. Duncan Murdoch Sarah On Mon, Jun 8, 2015 at 10:15 AM, John Sorkin jsor...@grecc.umaryland.edu wrote: I am reading a csv file. The column headers have spaces in them. The spaces are replaced by a period. I want to replace the space by another character (e.g. the underline) rather than the period. Can someone tell me how to accomplish this?Thank you, John John David Sorkin M.D., Ph.D. Professor of Medicine Chief, Biostatistics and Informatics University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine Baltimore VA Medical Center 10 North Greene Street GRECC (BT/18/GR) Baltimore, MD 21201-1524 (Phone) 410-605-7119 (Fax) 410-605-7913 (Please call phone number above prior to faxing) __ 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.
Re: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
On 08 Jun 2015, at 17:03 , Sarah Goslee sarah.gos...@gmail.com wrote: I'd import them with check.names=FALSE, then modify them explicitly: mynames - c(x y, x y, x y, x y) mynames [1] x y x y x y x y mynames - sub( , ., mynames) mynames [1] x.y x.y x.y x.y mynames - paste(mynames, seq_along(mynames), sep=_) mynames [1] x.y_1 x.y_2 x.y_3 x.y_4 Didn't he want x_y.1, not x.y_1? Obviously, just switch . and _ for that. A potential improvement (in case not all columns are x y) is to replace the last bit with make.unique(mynames). -- Peter Dalgaard, Professor, Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Office: A 4.23 Email: pd@cbs.dk Priv: pda...@gmail.com __ 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.
Re: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
Sarah, Many, many thanks. John John David Sorkin M.D., Ph.D. Professor of Medicine Chief, Biostatistics and Informatics University of Maryland School of Medicine Division of Gerontology and Geriatric Medicine Baltimore VA Medical Center 10 North Greene Street GRECC (BT/18/GR) Baltimore, MD 21201-1524 (Phone) 410-605-7119 (Fax) 410-605-7913 (Please call phone number above prior to faxing) On Jun 8, 2015, at 11:04 AM, Sarah Goslee sarah.gos...@gmail.com wrote: I've taken the liberty of copying this back to the list, so that others can participate in or benefit from the discussion. On Mon, Jun 8, 2015 at 10:49 AM, John Sorkin jsor...@grecc.umaryland.edu wrote: Sarah, I am not sure how I use check.names to replace every space in the names of my variables with an underline. Can you show me how to do this? My current code is as follows: check.names just tells R not to reformat your column names. If they aren't already what you want, you'll need to do something else. data - read.csv(C:\\Users\\john\\Dropbox (Personal)\\HanlonMatt\\fullgenus3.csv) The problem I has is that my column names are not unique, e.g., I have multiple columns whose column names are (in CSV format): X Y, X Y, X Y, X Y R reads the names as follows: X.Y, X.Y.1, X.Y.2, X.Y.3 I need to have the names look like: X_Y, X_Y.1, X_Y.2, X_Y.3 You've been saying that you want to replace every space with an underscore, but that's not what your example shows. Instead, you want to let R import the names and add the identifying number (though if you do it yourself you can get the number to match the column number, which is neater), then change the FIRST underscore to a period. I'd import them with check.names=FALSE, then modify them explicitly: mynames - c(x y, x y, x y, x y) mynames [1] x y x y x y x y mynames - sub( , ., mynames) mynames [1] x.y x.y x.y x.y mynames - paste(mynames, seq_along(mynames), sep=_) mynames [1] x.y_1 x.y_2 x.y_3 x.y_4 You could also let R modify them, then use sub() to change the first underscore to a period and leave the rest alone. Sarah Confidentiality Statement: This email message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. __ 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.
Re: [R] Blank spaces are replaced by period in read.csv, I want to replace blacks with an underline
mynames [1] x.y x.y x.y x.y mynames - paste(mynames, seq_along(mynames), sep=_) In addition, if there were a variety of names in mynames and you wanted to number each unique name separately you could use ave(): origNames - c(X, Y, Y, X, Z, X) ave(origNames, origNames, FUN=function(x)paste0(x, _, seq_along(x))) [1] X_1 Y_1 Y_2 X_2 Z_1 X_3 ave(origNames, origNames, FUN=function(x)if(length(x)==1) x else paste0(x, _, seq_along(x))) [1] X_1 Y_1 Y_2 X_2 Z X_3 Bill Dunlap TIBCO Software wdunlap tibco.com On Mon, Jun 8, 2015 at 8:03 AM, Sarah Goslee sarah.gos...@gmail.com wrote: I've taken the liberty of copying this back to the list, so that others can participate in or benefit from the discussion. On Mon, Jun 8, 2015 at 10:49 AM, John Sorkin jsor...@grecc.umaryland.edu wrote: Sarah, I am not sure how I use check.names to replace every space in the names of my variables with an underline. Can you show me how to do this? My current code is as follows: check.names just tells R not to reformat your column names. If they aren't already what you want, you'll need to do something else. data - read.csv(C:\\Users\\john\\Dropbox (Personal)\\HanlonMatt\\fullgenus3.csv) The problem I has is that my column names are not unique, e.g., I have multiple columns whose column names are (in CSV format): X Y, X Y, X Y, X Y R reads the names as follows: X.Y, X.Y.1, X.Y.2, X.Y.3 I need to have the names look like: X_Y, X_Y.1, X_Y.2, X_Y.3 You've been saying that you want to replace every space with an underscore, but that's not what your example shows. Instead, you want to let R import the names and add the identifying number (though if you do it yourself you can get the number to match the column number, which is neater), then change the FIRST underscore to a period. I'd import them with check.names=FALSE, then modify them explicitly: mynames - c(x y, x y, x y, x y) mynames [1] x y x y x y x y mynames - sub( , ., mynames) mynames [1] x.y x.y x.y x.y mynames - paste(mynames, seq_along(mynames), sep=_) mynames [1] x.y_1 x.y_2 x.y_3 x.y_4 You could also let R modify them, then use sub() to change the first underscore to a period and leave the rest alone. Sarah [[alternative HTML version deleted]] __ 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. [[alternative HTML version deleted]] __ 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.