[R] data and parameters
jim holtman
jholtman at gmail.com
Fri Jan 21 13:58:04 CET 2011
try 'sqldf'
> master=as.data.frame(list(clientId=c(1:4,2), date=1001:1005,
+ value=10001:10005))
> control=as.data.frame(list(clientId=c(2,3), mindate=c(100,1005),
+ maxdate=c(1005,1005), control.params=c(1,2)))
> master
clientId date value
1 1 1001 10001
2 2 1002 10002
3 3 1003 10003
4 4 1004 10004
5 2 1005 10005
> control
clientId mindate maxdate control.params
1 2 100 1005 1
2 3 1005 1005 2
> require(sqldf)
> sqldf("
+ select m.*
+ from master m, control c
+ where m.clientId = c.clientID
+ and m.date between c.mindate and c.maxdate
+ ")
clientId date value
1 2 1002 10002
2 2 1005 10005
>
>
On Thu, Jan 20, 2011 at 9:02 PM, analyst41 at hotmail.com
<analyst41 at hotmail.com> wrote:
> (1) I have a master data frame that reads
>
> ClientID |date |value
>
> (2) I also have a control data frame that reads
>
> Client ID| Min date| Max date| control parameters
>
> The control data set may not have all client IDs .
>
> I want to use the control data frame on the master data frame to
> remove client IDS that don't exist in the control data set and for
> those that do, remove dates outside the required range.
>
> (3) We can either put the control parameters on all rows corresponding
> to a client ID or look it up from the control data frame
>
> (4) The basic function call looks like
>
> do.something(df,control parameters)
>
> where df is the subset of the master data set that corresponds to a
> single client with unwanted dates removed and the control parameters
> pertain to that client.
>
> Any help would be appreciated.
>
> ______________________________________________
> 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.
>
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
More information about the R-help
mailing list