I'm sorry but i verify that Simon solution doesn't work. It makes only the
product between the corrispondent element of the columns (first with first,
second with seconds, etc,...)
These are the list of R commands:

> quattro <- read.csv('new_data.csv', header=TRUE)
> names(quattro)<-c("x","y")
> x<-c(NA,quattro$x)
> y<-c(quattro$y,NA)
> quattro$t<-quattro$x*quattro$y
> write.table(quattro,file="with_t.csv",sep="")


This is the new_data.csv file

"Y/h","u/U_b"
0.16067E-02,-0.11652E-01
0.48616E-02,-0.28583E-01
0.82005E-02,-0.40079E-01
0.11625E-01,-0.47481E-01
0.15139E-01,-0.52047E-01
0.18743E-01,-0.54658E-01
0.22439E-01,-0.55902E-01
0.26231E-01,-0.56181E-01
0.30121E-01,-0.55777E-01
0.34111E-01,-0.54897E-01
0.38204E-01,-0.53696E-01
0.42403E-01,-0.52267E-01
0.46709E-01,-0.50663E-01
0.51126E-01,-0.48919E-01
0.55658E-01,-0.47059E-01
0.60306E-01,-0.45100E-01
0.65073E-01,-0.43057E-01
0.69964E-01,-0.40940E-01
0.74980E-01,-0.38733E-01
0.80126E-01,-0.36428E-01
0.85404E-01,-0.34044E-01
0.90817E-01,-0.31620E-01
0.96371E-01,-0.29153E-01
0.10207E+00,-0.26602E-01
0.10791E+00,-0.23957E-01
0.11390E+00,-0.21238E-01

This is the with_t.csv new file:

"x","y","t"
"1",0.0016067,-0.011652,-1.87212684e-05
"2",0.0048616,-0.028583,-0.0001389591128
"3",0.0082005,-0.040079,-0.0003286678395
"4",0.011625,-0.047481,-0.000551966625
"5",0.015139,-0.052047,-0.000787939533
"6",0.018743,-0.054658,-0.001024454894
"7",0.022439,-0.055902,-0.001254384978
"8",0.026231,-0.056181,-0.001473683811
"9",0.030121,-0.055777,-0.001680059017
"10",0.034111,-0.054897,-0.001872591567
"11",0.038204,-0.053696,-0.002051401984
"12",0.042403,-0.052267,-0.002216277601
"13",0.046709,-0.050663,-0.002366418067
"14",0.051126,-0.048919,-0.002501032794
"15",0.055658,-0.047059,-0.002619209822
"16",0.060306,-0.0451,-0.0027198006
"17",0.065073,-0.043057,-0.002801848161
"18",0.069964,-0.04094,-0.00286432616
"19",0.07498,-0.038733,-0.00290420034
"20",0.080126,-0.036428,-0.002918829928
"21",0.085404,-0.034044,-0.002907493776
"22",0.090817,-0.03162,-0.00287163354
"23",0.096371,-0.029153,-0.002809503763
"24",0.10207,-0.026602,-0.00271526614
"25",0.10791,-0.023957,-0.00258519987
"26",0.1139,-0.021238,-0.0024190082

Thanks.
Regards

PS Can i avoid to print the column with "1","2","3","4", etc... ??




2009/6/2 Petr PIKAL <petr.pi...@precheza.cz>

> Hi
>
> r-help-boun...@r-project.org napsal dne 02.06.2009 13:20:26:
>
> > The solution I provided should work
> >
> > First off all give your data frame shorter and easier names e.g.
> >
> > names(quatrro)<-c("x","y",etc)
> >
> > since you want y(n)*x(n+1) an easy way to code this is to add on an "NA"
> to
> > the start of x so everything shifts down a row and add an NA on the end
> of Y
> > so that X and Y are the same length. look up the concatentae function ?c
> to
> > understand this.
> >
> > Data frame is not a problem. In that case its...
> >
> > x<-c(NA,quattro$x)
> > y<-c(quattro$y,NA)
> > quattro$t<-quattro$x*quatrro$y
>
> Above will not work as your result has one value more then original data
> frame
>
> > df$t<-c(df$x,NA)*c(NA,df$y)
> Error in `$<-.data.frame`(`*tmp*`, "t", value = c(NA, 3, 28, NA)) :
>  replacement has 4 rows, data has 3
> >
>
> She need to drop the appropriate one.
>
> Regards
> Petr
>
> >
> > then
> >
> > write.table(quattro,file="where you want the table to go.csv",sep="")
> >
> > HTH, Si.
> >
> >
> >
> >   ----- Original Message -----
> >   From: Carletto Rossi
> >   To: Simon Pickett ; r-help@r-project.org
> >   Sent: Tuesday, June 02, 2009 12:03 PM
> >   Subject: Re: [R] newbie help: simple operations in R
> >
> >
> >   I' ve tried your suggestions but the results are wrong.I don't
> > understand...i explain my request in a new way.
> >   I have this table named data-4-bk.csv
> >
> >   "Y/h","u/U_b","v/U_b","uu/U_b^2","vv/U_b^2","uv/U_b^2","k/U_b^2"
> >
>
> 0.16067E-02,-0.11652E-01,0.30712E-04,0.11377E-02,0.37886E-06,-0.12657E-05,0.13570E-02
> >
>
> 0.48616E-02,-0.28583E-01,-0.10085E-03,0.72322E-02,0.44299E-04,-0.17874E-04,0.78991E-02
> >
>
> 0.82005E-02,-0.40079E-01,-0.25124E-03,0.14272E-01,0.23333E-03,-0.75078E-04,0.15054E-01
> >
>
> 0.11625E-01,-0.47481E-01,-0.50081E-03,0.19783E-01,0.60134E-03,-0.17623E-03,0.20764E-01
> >
>
> 0.15139E-01,-0.52047E-01,-0.78504E-03,0.23607E-01,0.11297E-02,-0.31123E-03,0.25042E-01
> >
>
> 0.18743E-01,-0.54658E-01,-0.11273E-02,0.26189E-01,0.17884E-02,-0.46941E-03,0.28287E-01
> >
>
> 0.22439E-01,-0.55902E-01,-0.15016E-02,0.27935E-01,0.25450E-02,-0.64447E-03,0.30825E-01
> >
>
> 0.26231E-01,-0.56181E-01,-0.19149E-02,0.29136E-01,0.33728E-02,-0.83204E-03,0.32881E-01
> >
>
> 0.30121E-01,-0.55777E-01,-0.23570E-02,0.29974E-01,0.42480E-02,-0.10299E-02,0.34591E-01
> >
>
> 0.34111E-01,-0.54897E-01,-0.28303E-02,0.30577E-01,0.51528E-02,-0.12376E-02,0.36045E-01
> >
>
> 0.38204E-01,-0.53696E-01,-0.33293E-02,0.31034E-01,0.60717E-02,-0.14533E-02,0.37305E-01
> >
>
> 0.42403E-01,-0.52267E-01,-0.38533E-02,0.31403E-01,0.69931E-02,-0.16763E-02,0.38415E-01
> >
>
> 0.46709E-01,-0.50663E-01,-0.43996E-02,0.31712E-01,0.79083E-02,-0.19064E-02,0.39403E-01
> >
> >   I give these R commands to import the file
> >
> >   quattro <- read.csv('data-4-bk.csv', header=TRUE)
> >   attach(quattro)
> >   names(quattro)
> >
> >   Then i'd like to calculate the new variable "t" defined as:
> >
> >   First element of u/U_b column * Second element of Y/h column
> >   Second element of u/U_b column * Third element of Y/h column
> >   etc.. etc..
> >
> >   Now i' d like to print the values of t as a new column on the original
> data-4-bk.csv
> >
> >   Thanks and sorry for my newbie request.
> >
> >
> >
> >
> >
> >
> >   2009/6/2 Simon Pickett <simon.pick...@bto.org>
> >
> >     you could use a loop but maybe easier would be
> >     x<-c(NA,x)
> >     y<-c(y,NA)
> >     t<-x*y
> >
> >     use write.table() to write the table to your hard drive
> >
> >     e.g.
> >
> >     write.table(t, file="C:/Documents and Settings/simonp/My
> Documents/RELU/
> > GIS data/Land Cover Map working/squares plus adjoining parcels/Scotland/
> > scotland adj squares.csv", sep = ",",row.names = F)
> >
> >     HTH, Si.
> >
> >     ----- Original Message ----- From: "Carletto Rossi"
> <nuovo...@gmail.com>
> >     To: <r-help@r-project.org>
> >     Sent: Tuesday, June 02, 2009 11:22 AM
> >     Subject: [R] newbie help: simple operations in R
> >
> >
> >
> >       Hi, i' d like to use R for simple calculations. I show you an
> examples to
> >       make clear my help request
> >
> >       I' ve a file .csv like this (my real file is composed by 10.000
> lines and 8
> >       columns)
> >
> >       x y
> >       3 4
> >       1 7
> >
> >       I' ve imported in R correctly. Now i want create a new variable
> named "t"
> >       and t is defined throught this relation:
> >
> >       t = 4 (second element on x column) * 4 (first element on y column)
> >
> >       in what way can i calculate t and print its value on an external
> file or,
> >       better, append t values as a column on my original csv???
> >
> >       Thanks
> >
> >       Emanuele
> >
> >
> >       [[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.
> >
> >
> >
> >
> >
> >
> >    [[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.
>
>

        [[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.

Reply via email to