2011
06.12
06.12
A while ago I was working on a piece of R code for the data analysis of my Master These project. While experiencing some encoding issues running the code on different platforms I decided to build in OS detection. After some Googling I found out there are several ways to do so. First of all we can search in the `version` variable:
> version platform x86_64-pc-linux-gnu arch x86_64 os linux-gnu system x86_64, linux-gnu status major 2 minor 10.1 year 2009 month 12 day 14 svn rev 50720 language R version.string R version 2.10.1 (2009-12-14) version$os
or `.Platform`
> .Platform $OS.type [1] "unix" $file.sep [1] "/" $dynlib.ext [1] ".so" $GUI [1] "X11" $endian [1] "little" $pkgType [1] "source" $path.sep [1] ":" $r_arch [1] "" .Platform$OS.type
or even `Sys.info()`
> Sys.info()
sysname
"Linux"
release
"2.6.32-30-generic"
version
"#59-Ubuntu SMP Tue Mar 1 21:30:46 UTC 2011"
nodename
"foo.bar.nl"
machine
"x86_64"
login
"mtersmitten"
user
"mtersmitten"
In my code I would use this like:
toUtf8 = function(column)
{
return (
switch(class(column),
"character" = iconv(column, "LATIN1", "UTF-8"),
"data.frame" = as.data.frame(apply(column, 2, iconv, "LATIN1", "UTF-8")),
)
);
}
if (Sys.info()["sysname"] == "Linux")
{
items15["question"] = toUtf8(items15["question"])
}
I know, it’s not pretty but it works…
PS: am I the only one having encoding issues working on multiple OSses by the way?
No Comment.
Add Your Comment