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.

Reply via email to