[R] unit attribute to list elements
Hi, I've started my own (first) package, part of which consists in listing common physical constants (Planck's constant, the speed of light in vacuum, etc). I'm wondering what would be a good way of dealing with pairs of value/unit. constants - list( cel = 2.99792458e8 , #m/s Z0 = 376.730313461, #ohm eps0 = 8.854187817e-12,#F/m mu0 = 4*pi*1e-7,#N/A^2 G = 6.67428e-11 # m^3 kg-1 s-2 ) I thought I could include the unit in the names attribute of each element, as in : names(constants$cel)- speed of light in vacuum [m.s^-1] Writing this for every element is very redundant... Is there any way to access and set the name of each first level element of the list? namesFirstLevelElements(constants)- c( speed of light in vacuum [m.s^-1], impedance of vacuum [some unit], ...) Quite possibly, I'm completely on the wring track; - maybe such a package already exists - a custom class or structure would be more appropriate? I don't really know how to deal with classes, though, and I'd like to keep the access to the constants' values as direct and generic as possible. Many thanks in advance, baptiste _ Baptiste Auguié Physics Department University of Exeter Stocker Road, Exeter, Devon, EX4 4QL, UK Phone: +44 1392 264187 http://newton.ex.ac.uk/research/emag http://projects.ex.ac.uk/atto __ 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] unit attribute to list elements
Is this what you want? Lines - cel 3.0 m/s + Z0 367 ohm + eps0 8.9e-12 F/m + Constants.DF - read.table(textConnection(Lines), as.is = TRUE) Constants - as.list(Constants.DF[[2]]) names(Constants) - Constants.DF[[1]] for(i in seq_along(Constants)) comment(Constants[[i]]) - Constants.DF[i, 3] # get value Constants$Z0 [1] 367 # get comment comment(Constants$Z0) [1] ohm # add another Constant Constants$e - 2.7 comment(Constants$e) - exp On Dec 28, 2007 2:33 PM, baptiste Auguié [EMAIL PROTECTED] wrote: Hi, I've started my own (first) package, part of which consists in listing common physical constants (Planck's constant, the speed of light in vacuum, etc). I'm wondering what would be a good way of dealing with pairs of value/unit. constants - list( cel = 2.99792458e8 , #m/s Z0 = 376.730313461, #ohm eps0 = 8.854187817e-12,#F/m mu0 = 4*pi*1e-7,#N/A^2 G = 6.67428e-11 # m^3 kg-1 s-2 ) I thought I could include the unit in the names attribute of each element, as in : names(constants$cel)- speed of light in vacuum [m.s^-1] Writing this for every element is very redundant... Is there any way to access and set the name of each first level element of the list? namesFirstLevelElements(constants)- c( speed of light in vacuum [m.s^-1], impedance of vacuum [some unit], ...) Quite possibly, I'm completely on the wring track; - maybe such a package already exists - a custom class or structure would be more appropriate? I don't really know how to deal with classes, though, and I'd like to keep the access to the constants' values as direct and generic as possible. Many thanks in advance, baptiste _ Baptiste Auguié Physics Department University of Exeter Stocker Road, Exeter, Devon, EX4 4QL, UK Phone: +44 1392 264187 http://newton.ex.ac.uk/research/emag http://projects.ex.ac.uk/atto __ 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.
Re: [R] unit attribute to list elements
On 28 Dec 2007, at 20:06, Gabor Grothendieck wrote: Is this what you want? Perfect! Thanks a lot! Lines - cel 3.0 m/s + Z0 367 ohm + eps0 8.9e-12 F/m + Constants.DF - read.table(textConnection(Lines), as.is = TRUE) Constants - as.list(Constants.DF[[2]]) names(Constants) - Constants.DF[[1]] for(i in seq_along(Constants)) comment(Constants[[i]]) - Constants.DF[i, 3] # get value Constants$Z0 [1] 367 # get comment comment(Constants$Z0) [1] ohm # add another Constant Constants$e - 2.7 comment(Constants$e) - exp On Dec 28, 2007 2:33 PM, baptiste Auguié [EMAIL PROTECTED] wrote: Hi, I've started my own (first) package, part of which consists in listing common physical constants (Planck's constant, the speed of light in vacuum, etc). I'm wondering what would be a good way of dealing with pairs of value/unit. constants - list( cel = 2.99792458e8 , #m/s Z0 = 376.730313461, #ohm eps0 = 8.854187817e-12,#F/m mu0 = 4*pi*1e-7,#N/A^2 G = 6.67428e-11 # m^3 kg-1 s-2 ) I thought I could include the unit in the names attribute of each element, as in : names(constants$cel)- speed of light in vacuum [m.s^-1] Writing this for every element is very redundant... Is there any way to access and set the name of each first level element of the list? namesFirstLevelElements(constants)- c( speed of light in vacuum [m.s^-1], impedance of vacuum [some unit], ...) Quite possibly, I'm completely on the wring track; - maybe such a package already exists - a custom class or structure would be more appropriate? I don't really know how to deal with classes, though, and I'd like to keep the access to the constants' values as direct and generic as possible. Many thanks in advance, baptiste _ Baptiste Auguié Physics Department University of Exeter Stocker Road, Exeter, Devon, EX4 4QL, UK Phone: +44 1392 264187 http://newton.ex.ac.uk/research/emag http://projects.ex.ac.uk/atto __ 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.