Hello,
The best way to get help from people on the list is
for you to give us *reproducible* examples of exactly
what is you want.
Usually, you can come up with some sample data and code
that corresponds to your situation, and that we can run
directly by cutting and pasting from the email.
You can find more details about this in the posting
guide, linked to at the bottom of every email.
Best,
--Erik
Matevž Pavlič wrote:
Hi all,
I understand that you most of you this is a peice of cake but i am a
complete newbie in this....so any example would be greatly
aprpeciated and also any hint as how to get around in R. Frankly i
sometimes see the help files kinda confusing.
M
-----Original Message----- From: Petr PIKAL
[mailto:petr.pi...@precheza.cz] Sent: Thursday, November 04, 2010
3:40 PM To: Matevž Pavlič Cc: r-help@r-project.org Subject: Re: [R]
Loop
Hi
r-help-boun...@r-project.org napsal dne 04.11.2010 14:21:38:
Hi David,
I am still having troubles with that loop ...
This code gives me (kinda) the name of the column/field in a data
frame.
Filed
names are form W1-W10. But there is a space between W and a number
-->
"W 10",
and column (field) names do not contain numbers.
for(i in 1:10) { vari <- paste("W",i) } vari
[1] "W 10"
Now as i understand than i would call different columns to R with
w<-lit[[vari]]
Or am i wrong again?
Then I would probably need another loop to create the names of the
variables
on R, i.e. w1 to w10. Is that a general idea for the procedure?
Beware of such loops. Instead of littering your workspace with
files/objects constructed by some paste(whatever, i) solution you can
save results in list or data.frame or matrix and simply use basic
subsetting procedures or lapply/sapply functions.
I must say I never used such paste(...) construction yet and I work
with R for quite a long time.
Regards Petr
Thank for the help, m
-----Original Message----- From: David Winsemius
[mailto:dwinsem...@comcast.net] Sent: Wednesday, November 03, 2010
10:41 PM To: Matevž Pavlič Cc: r-help@r-project.org Subject: Re:
[R] Loop
On Nov 3, 2010, at 5:03 PM, Matevž Pavlič wrote:
Hi,
Thanks for the help and the manuals. Will come very handy i am
sure.
But regarding the code i don't hink this is what i
want....basically i
would like to repeat bellow code :
w1<-table(lit$W1) w1<-as.data.frame(w1)
It appears you are not reading for meaning. Burns has advised you
how to
construct column names and use them in your initial steps. The `$`
function is
quite limited in comparison to `[[` , so he was showing you a
method
that
would be more effective. BTW the as.data.frame step is
unnecessary,
since the
first thing write.table does is coerce an object to a data.frame.
The "write.table" name is misleading. It should be
"write.data.frame". You
cannot
really write tables with write.table.
You would also use:
file=paste(vari, "csv", sep=".") as the file argument to
write.table
write.table(w1,file="w1.csv",sep=";",row.names=T, dec=".")
What are these next actions supposed to do after the file is
written? Are you trying to store a group of related "w" objects
that will later
be
indexed in sequence? If so, then a list would make more sense.
-- David.
w1<- w1[order(w1$Freq, decreasing=TRUE),] w1<-head(w1, 20)
20 times, where W1-20 (capital letters) are the fields in a
data.frame
called "lit" and w1-20 are the data.frames being created.
Hope that explains it better, m
-----Original Message----- From: Patrick Burns
[mailto:pbu...@pburns.seanet.com] Subject: Re: [R] Loop
If I understand properly, you'll want something like:
lit[["w2"]]
instead of
lit$w2
more accurately:
for(i in 1:20) { vari <- paste("w", i) lit[[vari]]
... }
The two documents mentioned in my signature may help you.
On 03/11/2010 20:23, Matevž Pavlič wrote:
Hi all,
I managed to do what i want (with the great help of thi mailing
list) manually . Now i would like to automate it. I would
probably need a for loop for to help me with this...but of
course I have no idea how to do that in R. Bellow is the code
that i would like to be
replicated for a number of times (let say 20). I would like to
achieve that w1 would change to w2, w3, w4 ... up to w20 and
by that
create 20 data.frames that I would than bind together with
cbind.
(i did it like shown bellow -manually)
w1<-table(lit$W1) w1<-as.data.frame(w1)
write.table(w1,file="w1.csv",sep=";",row.names=T, dec=".") w1<-
w1[order(w1$Freq, decreasing=TRUE),] w1<-head(w1, 20)
w2<-table(lit$W2)
w2<-as.data.frame(w2)
write.table(w2,file="w2.csv",sep=";",row.names=T, dec=".")
w2<- w2[order(w2$Freq, decreasing=TRUE),]
w2<-head(w2, 20) . . .
Thanks for the help,m
David Winsemius, MD West Hartford, CT
______________________________________________ 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.
______________________________________________ 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.
______________________________________________
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.