Sorry I should have included the r code for the dataframes for ease of
test:
input <- rbind(data.frame(item="item 1.1: earnings <sep> item 1.2: w2
<sep>", loc="shelf 1"),
data.frame(item="item 1.3: deductions <sep>", loc="drawer 1"),
data.frame(item="item 1.1: earnings <sep>", loc="shelf 2"))
lst <- rbind(data.frame(item="item 1.1", cat="A"),data.frame(item="item
1.2", cat="B"),data.frame(item="item 1.3", cat="C"))
want to get result like:
> result
item loc cat
1 item 1.1: earnings <sep> item 1.2: w2 <sep> shelf 1 AB
2 item 1.3: deductions drawer 1 C
3 item 1.1: earnings shelf 2 A
Thanks,
Richard
From: Tan, Richard
Sent: Wednesday, January 05, 2011 5:55 PM
To: '[email protected]'
Subject: categorize a character column
Hi, I know I can do this with a for loop with strsplit and grep, but is
there more efficient way?
Given a data dataframe (input) and a category column (lst),
> input
item loc
1 item 1.1: earnings <sep> item 1.2: w2 <sep> shelf 1
2 item 1.3: deductions drawer 1
3 item 1.1: earnings shelf 2
> lst
item cat
1 item 1.1 A
2 item 1.2 B
3 item 1.3 C
how to get a result frame like
> result
item loc cat
1 item 1.1: earnings <sep> item 1.2: w2 <sep> shelf 1 AB
2 item 1.3: deductions drawer 1 C
3 item 1.1: earnings shelf 2 A
Thanks,
Richard
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.