裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

単純に考える

2014年03月21日 | ブログラミング

Excel の列名(A,B,C,...)を数(1,2,3,...)に変換する についてだが,引数チェックはともかく,

ExcelColToNum = function(s) {
    s = unlist(strsplit(s, ""))
    x = which(LETTERS == s[1])
    if (length(s) == 2) {
        x = x*26 + which(LETTERS == s[2])
    }
    return(x)
}
x = c("A", "C", "Z", "AA", "AC", "ZZ")
sapply(x, ExcelColToNum)

で十分のような

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

na.omit を使おう

2014年03月21日 | ブログラミング

生物系の人が苦しめられるあのデータ形式をRで扱いやすいように変換する

data1 = read.table("clipboard", header=TRUE)
data2 = stack(data1)
data = subset(data2, !is.na(values))

を紹介しているが,subset を使うよりは na.omit が単純明快

data = na.omit(stack(read.table("clipboard", header=TRUE)))

おまけ

dplyr を使えば
data = read.table("clipboard", header = TRUE) %.% stack() %.% subset(!is.na(values))

のように中間変数が要らないと自慢(?)しているが,上のように関数の入れ子の方が分かりやすい。

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村