[R] Appending data to a data.frame and writing a csv

2011-03-25 Thread Vincy Pyne
Dear R helpers

exposure - data.frame(id = 
c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20),
ead = c(9483.686,5,6843.4968,10509.37125,21297.8905,5,706152.8354, 
62670.5625, 687.801995,50641.4875,59227.125,43818.5778,52887.72534,601788.7937, 
56813.14859,4012356.056,1419501.179,210853.4743,749961,6599.0862),
pd = c(0.0191,0.0050,0.0298,0.0449,0.0442,0.0479,0.0007,0.0203,0.0431,0.0069, 
0.0122,0.0022,0.0016,0.0082,0.0109,0.0008,0.0142,0.0171,0.0276,0.0178),
lgd = 
c(0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,
 0.45,0.45,0.45,0.45))

param - data.frame(alpha = 0.99, size = 50)    # size is basically no of 
simulations


n  -
 length(exposure$id)
id - exposure$id
ead    - exposure$ead
lgd    - exposure$lgd
pd - exposure$pd 
alpha  - param$alpha
samplesize - param$size

## generate random numbers s.t. 1 = Default, 0 = no-default. 

L - matrix(data=NA, nrow=n, ncol=samplesize, byrow=TRUE)

for(i in 1:n)
    L[i,] - rbinom(n=samplesize, size=1, prob=exposure$pd[i])

# 

# compute for each simulation

p_loss - e_loss - u_loss - NULL

for(i in 1:samplesize)

{
  
defaulting - subset(data.frame(id=exposure$id, ead=exposure$ead, 
lgd=exposure$lgd, pd=exposure$pd, loss=L[,i]),
 loss==1)

p_loss[i]  - sum(defaulting$ead * defaulting$lgd)
e_loss[i]  - sum(defaulting$ead * defaulting$lgd * defaulting$pd)
u_loss[i]  - sum(sqrt((defaulting$ead*defaulting$lgd)^2*defaulting$pd - 
(defaulting$ead * defaulting$lgd * defaulting$pd)^2))

sim_data   - data.frame(sim_no=rep(i,length(defaulting$id)), id=defaulting$id, 
ead=defaulting$ead, lgd=defaulting$lgd, pd=defaulting$pd)

write.csv(sim_data, file='sim_data.csv', append=TRUE, row.names=FALSE)

}

For a given set of 0's and 1's (i.e. for each simulation and there are 50 
simulations), first I filter all the entries corresponding to 0's i.e. for a 
given simulation, I need to store ead, lgd and pd pertaining to only non-zeros 
i.e. pertaining to 1. Thus, for each of these 50 simulations, I need to define 
a data.frame giving me filtered ead, lgd and pd and in teh end write a single 
file sim_data.csv

I get
 following warnings.

Warning messages:
1: In write.csv(sim_data, file = sim_data.csv, append = TRUE,  ... :
  attempt to set 'append' ignored
2: In write.csv(sim_data, file = sim_data.csv, append = TRUE,  ... :
  attempt to set 'append' ignored
.

.
50: In write.csv(sim_data, file = sim_data.csv, append = TRUE,  ... :

  attempt to set 'append' ignored

Kindly guide

Regards

Vincy




[[alternative HTML version deleted]]

__
R-help@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.


Re: [R] Appending data to a data.frame and writing a csv

2011-03-25 Thread Ista Zahn
Hi Vincy,
Please read the help file, particularly the part about write.csv and
write.csv2 where it says These wrappers are deliberately inflexible:
they are designed to ensure that the correct conventions are used to
write a valid file. Attempts to change append, col.names, sep, dec or
qmethod are ignored, with a warning.

Use write.table instead.

Best,
Ista

On Fri, Mar 25, 2011 at 8:55 AM, Vincy Pyne vincy_p...@yahoo.ca wrote:
 Dear R helpers

 exposure - data.frame(id = 
 c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20),
 ead = c(9483.686,5,6843.4968,10509.37125,21297.8905,5,706152.8354, 
 62670.5625, 
 687.801995,50641.4875,59227.125,43818.5778,52887.72534,601788.7937, 
 56813.14859,4012356.056,1419501.179,210853.4743,749961,6599.0862),
 pd = c(0.0191,0.0050,0.0298,0.0449,0.0442,0.0479,0.0007,0.0203,0.0431,0.0069, 
 0.0122,0.0022,0.0016,0.0082,0.0109,0.0008,0.0142,0.0171,0.0276,0.0178),
 lgd = 
 c(0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,
  0.45,0.45,0.45,0.45))

 param - data.frame(alpha = 0.99, size = 50)    # size is basically no of 
 simulations


 n  -
  length(exposure$id)
 id - exposure$id
 ead    - exposure$ead
 lgd    - exposure$lgd
 pd - exposure$pd
 alpha  - param$alpha
 samplesize - param$size

 ## generate random numbers s.t. 1 = Default, 0 = no-default.

 L - matrix(data=NA, nrow=n, ncol=samplesize, byrow=TRUE)

 for(i in 1:n)
     L[i,] - rbinom(n=samplesize, size=1, prob=exposure$pd[i])

 # 

 # compute for each simulation

 p_loss - e_loss - u_loss - NULL

 for(i in 1:samplesize)

 {

 defaulting - subset(data.frame(id=exposure$id, ead=exposure$ead, 
 lgd=exposure$lgd, pd=exposure$pd, loss=L[,i]),
  loss==1)

 p_loss[i]  - sum(defaulting$ead * defaulting$lgd)
 e_loss[i]  - sum(defaulting$ead * defaulting$lgd * defaulting$pd)
 u_loss[i]  - sum(sqrt((defaulting$ead*defaulting$lgd)^2*defaulting$pd - 
 (defaulting$ead * defaulting$lgd * defaulting$pd)^2))

 sim_data   - data.frame(sim_no=rep(i,length(defaulting$id)), 
 id=defaulting$id, ead=defaulting$ead, lgd=defaulting$lgd, pd=defaulting$pd)

 write.csv(sim_data, file='sim_data.csv', append=TRUE, row.names=FALSE)

 }

 For a given set of 0's and 1's (i.e. for each simulation and there are 50 
 simulations), first I filter all the entries corresponding to 0's i.e. for a 
 given simulation, I need to store ead, lgd and pd pertaining to only 
 non-zeros i.e. pertaining to 1. Thus, for each of these 50 simulations, I 
 need to define a data.frame giving me filtered ead, lgd and pd and in teh end 
 write a single file sim_data.csv

 I get
  following warnings.

 Warning messages:
 1: In write.csv(sim_data, file = sim_data.csv, append = TRUE,  ... :
   attempt to set 'append' ignored
 2: In write.csv(sim_data, file = sim_data.csv, append = TRUE,  ... :
   attempt to set 'append' ignored
 .

 .
 50: In write.csv(sim_data, file = sim_data.csv, append = TRUE,  ... :

   attempt to set 'append' ignored

 Kindly guide

 Regards

 Vincy




        [[alternative HTML version deleted]]


 __
 R-help@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.





-- 
Ista Zahn
Graduate student
University of Rochester
Department of Clinical and Social Psychology
http://yourpsyche.org

__
R-help@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.


Re: [R] Appending data to a data.frame and writing a csv

2011-03-25 Thread Vincy Pyne
Dear Mr Ista Zahn,

Thanks a lot for your suggestion. I had also realized that if I need to 
write.csv command should be out of loop. At first, I need to construct the 
data.frame. 

Actually appending this data.frame is causing me the problem and not writing 
the csv file. That particular command will be executed outside the loop.

Once this is generated, writing of the csv file should not be problem outside 
the loop. 

Regards

Vincy

--- On Fri, 3/25/11, Ista Zahn iz...@psych.rochester.edu wrote:

From: Ista Zahn iz...@psych.rochester.edu
Subject: Re: [R] Appending data to a data.frame and writing a csv
To: Vincy Pyne vincy_p...@yahoo.ca
Cc: r-help@r-project.org
Received: Friday, March 25, 2011, 4:02 PM

Hi Vincy,
Please read the help file, particularly the part about write.csv and
write.csv2 where it says These wrappers are deliberately inflexible:
they are designed to ensure that the correct conventions are used to
write a valid file. Attempts to change append, col.names, sep, dec or
qmethod are ignored, with a warning.

Use write.table instead.

Best,
Ista

On Fri, Mar 25, 2011 at 8:55 AM, Vincy Pyne vincy_p...@yahoo.ca wrote:
 Dear R helpers

 exposure - data.frame(id = 
 c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20),
 ead = c(9483.686,5,6843.4968,10509.37125,21297.8905,5,706152.8354, 
 62670.5625, 
 687.801995,50641.4875,59227.125,43818.5778,52887.72534,601788.7937, 
 56813.14859,4012356.056,1419501.179,210853.4743,749961,6599.0862),
 pd = c(0.0191,0.0050,0.0298,0.0449,0.0442,0.0479,0.0007,0.0203,0.0431,0.0069, 
 0.0122,0.0022,0.0016,0.0082,0.0109,0.0008,0.0142,0.0171,0.0276,0.0178),
 lgd = 
 c(0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,0.45,
  0.45,0.45,0.45,0.45))

 param - data.frame(alpha = 0.99, size = 50)    # size is basically no of 
 simulations


 n  -
  length(exposure$id)
 id - exposure$id
 ead    - exposure$ead
 lgd    - exposure$lgd
 pd - exposure$pd
 alpha  - param$alpha
 samplesize - param$size

 ## generate random numbers s.t. 1 = Default, 0 = no-default.

 L - matrix(data=NA, nrow=n, ncol=samplesize, byrow=TRUE)

 for(i in 1:n)
     L[i,] - rbinom(n=samplesize, size=1, prob=exposure$pd[i])

 # 

 # compute for each simulation

 p_loss - e_loss - u_loss - NULL

 for(i in 1:samplesize)

 {

 defaulting - subset(data.frame(id=exposure$id, ead=exposure$ead, 
 lgd=exposure$lgd, pd=exposure$pd, loss=L[,i]),
  loss==1)

 p_loss[i]  - sum(defaulting$ead * defaulting$lgd)
 e_loss[i]  - sum(defaulting$ead * defaulting$lgd * defaulting$pd)
 u_loss[i]  - sum(sqrt((defaulting$ead*defaulting$lgd)^2*defaulting$pd - 
 (defaulting$ead * defaulting$lgd * defaulting$pd)^2))

 sim_data   - data.frame(sim_no=rep(i,length(defaulting$id)), 
 id=defaulting$id, ead=defaulting$ead, lgd=defaulting$lgd, pd=defaulting$pd)

 write.csv(sim_data, file='sim_data.csv', append=TRUE, row.names=FALSE)

 }

 For a given set of 0's and 1's (i.e. for each simulation and there are 50 
 simulations), first I filter all the entries corresponding to 0's i.e. for a 
 given simulation, I need to store ead, lgd and pd pertaining to only 
 non-zeros i.e. pertaining to 1. Thus, for each of these 50 simulations, I 
 need to define a data.frame giving me filtered ead, lgd and pd and in teh end 
 write a single file sim_data.csv

 I get
  following warnings.

 Warning messages:
 1: In write.csv(sim_data, file = sim_data.csv, append = TRUE,  ... :
   attempt to set 'append' ignored
 2: In write.csv(sim_data, file = sim_data.csv, append = TRUE,  ... :
   attempt to set 'append' ignored
 .

 .
 50: In write.csv(sim_data, file = sim_data.csv, append = TRUE,  ... :

   attempt to set 'append' ignored

 Kindly guide

 Regards

 Vincy




        [[alternative HTML version deleted]]


 __
 R-help@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.





-- 
Ista Zahn
Graduate student
University of Rochester
Department of Clinical and Social Psychology
http://yourpsyche.org



[[alternative HTML version deleted]]

__
R-help@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.