Hello togehter,
i have a little problem, maybe anyone can help me.
I have a data.frame, which look like this one:
ID Members
1 1 ; abc; def; ghi
2 2 ; abc;
3 3 ;def;
How can I create another column for each value between 2 semicolons?
The result look like this one:
ID Members Member1 Member2 Member3
1 1 ; abc; def; ghi abc def ghi
2 2 ; abc; abc
3 3 ;def; def
Maybe anyone can help me. Thank you.
Best regards.
Mat
________________________________
This e-mail may contain trade secrets, privileged, undisclosed or otherwise confidential information. If you have received this e-mail in error, you are hereby notified that any review, copying or distribution of it is strictly prohibited. Please inform us immediately and destroy the original transmittal. Thank you for your cooperation.
Diese E-Mail kann Betriebs- oder Geschaeftsgeheimnisse oder sonstige vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtuemlich erhalten haben, ist Ihnen eine Kenntnisnahme des Inhalts, eine Vervielfaeltigung oder Weitergabe der E-Mail ausdruecklich untersagt. Bitte benachrichtigen Sie uns und vernichten Sie die empfangene E-Mail. Vielen Dank.
split a field in dependence of the semicolon
3 messages · Matthias Weber, Bert Gunter, David Winsemius
See ?strsplit using the fixed =";" argument on the column containing the character vector you wish to split. The trickier part is that the result is a list that needs to be manipulated -- ?do.call might be useful here, although I haven't thought about it seriously -- to build your data frame containing missings. There are various ways to do this, but "An Introduction to R" (ships with R) -- you have read it right? -- should provide the info you need. That should get you started. Others may provide a more complete solution, but that's much less fun. Cheers, Bert Bert Gunter Genentech Nonclinical Biostatistics (650) 467-7374 "Data is not information. Information is not knowledge. And knowledge is certainly not wisdom." Clifford Stoll On Mon, Nov 3, 2014 at 8:05 AM, Matthias Weber
<Matthias.Weber at fntsoftware.com> wrote:
Hello togehter,
i have a little problem, maybe anyone can help me.
I have a data.frame, which look like this one:
ID Members
1 1 ; abc; def; ghi
2 2 ; abc;
3 3 ;def;
How can I create another column for each value between 2 semicolons?
The result look like this one:
ID Members Member1 Member2 Member3
1 1 ; abc; def; ghi abc def ghi
2 2 ; abc; abc
3 3 ;def; def
Maybe anyone can help me. Thank you.
Best regards.
Mat
________________________________
This e-mail may contain trade secrets, privileged, undisclosed or otherwise confidential information. If you have received this e-mail in error, you are hereby notified that any review, copying or distribution of it is strictly prohibited. Please inform us immediately and destroy the original transmittal. Thank you for your cooperation.
Diese E-Mail kann Betriebs- oder Geschaeftsgeheimnisse oder sonstige vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtuemlich erhalten haben, ist Ihnen eine Kenntnisnahme des Inhalts, eine Vervielfaeltigung oder Weitergabe der E-Mail ausdruecklich untersagt. Bitte benachrichtigen Sie uns und vernichten Sie die empfangene E-Mail. Vielen Dank.
[[alternative HTML version deleted]]
______________________________________________
R-help at r-project.org mailing list
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.
On Nov 3, 2014, at 10:47 AM, Bert Gunter wrote:
See ?strsplit using the fixed =";" argument on the column containing the character vector you wish to split. The trickier part is that the result is a list that needs to be manipulated -- ?do.call might be useful here, although I haven't thought about it seriously -- to build your data frame containing missings. There are various ways to do this, but "An Introduction to R" (ships with R) -- you have read it right? -- should provide the info you need. That should get you started. Others may provide a more complete solution, but that's much less fun.
Here's a start using the fill argument to read.table and the 'Members' column as text data:
cbind(dat,
read.table(text=as.character(dat$Members), sep=";", fill =TRUE)[-1] )
#----------------------
ID Members V2 V3 V4
1 1 ; abc; def; ghi abc def ghi
2 2 ; abc; abc
3 3 ;def; def
Cheers, Bert Bert Gunter Genentech Nonclinical Biostatistics (650) 467-7374 "Data is not information. Information is not knowledge. And knowledge is certainly not wisdom." Clifford Stoll On Mon, Nov 3, 2014 at 8:05 AM, Matthias Weber <Matthias.Weber at fntsoftware.com> wrote:
Hello togehter,
i have a little problem, maybe anyone can help me.
I have a data.frame, which look like this one:
ID Members
1 1 ; abc; def; ghi
2 2 ; abc;
3 3 ;def;
How can I create another column for each value between 2 semicolons?
The result look like this one:
ID Members Member1 Member2 Member3
1 1 ; abc; def; ghi abc def ghi
2 2 ; abc; abc
3 3 ;def; def
Maybe anyone can help me. Thank you.
Best regards.
Mat
______________________________________________ R-help at r-project.org mailing list 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.
David Winsemius Alameda, CA, USA