×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
データフレーム全体で、変数名と型を調べ、縦に表示する
data.frame(1:ncol(iris), sapply(iris, class))
data.frame(1:ncol(iris), sapply(iris, class), colnames(iris))
##順序尺度の場合はうまく動作しない
データフレームの列や行の数を調べる
ncol(df) # 列数
nrow(df) # 行数
変数名を取り出す
colnames(df) # 変数名を取り出す。行はrownames(df)
因子変数の因子数 (カテゴリー数) を調べる
length(levels(iris$Species))
因子変数のカテゴリー名を調べる
levels(iris$Species)
[1] "setosa" "versicolor" "virginica"
順序尺度かどうか調べる
class(iris$Species)
[1] "factor"
# ただの因子はfactor, 順序があるとorderedになる。
# levelはただの並び順で順序はついていない (論理式は使えない)
順序尺度の順序を調べる
x <- ordered(iris$Species) # irisのSpeciesを順序づける
levels(x)
"setosa" "versicolor" "virginica"
小 => 大の順になっている。
summary(x)でもこの順で集計される
data.frame(1:ncol(iris), sapply(iris, class))
data.frame(1:ncol(iris), sapply(iris, class), colnames(iris))
##順序尺度の場合はうまく動作しない
データフレームの列や行の数を調べる
ncol(df) # 列数
nrow(df) # 行数
変数名を取り出す
colnames(df) # 変数名を取り出す。行はrownames(df)
因子変数の因子数 (カテゴリー数) を調べる
length(levels(iris$Species))
因子変数のカテゴリー名を調べる
levels(iris$Species)
[1] "setosa" "versicolor" "virginica"
順序尺度かどうか調べる
class(iris$Species)
[1] "factor"
# ただの因子はfactor, 順序があるとorderedになる。
# levelはただの並び順で順序はついていない (論理式は使えない)
順序尺度の順序を調べる
x <- ordered(iris$Species) # irisのSpeciesを順序づける
levels(x)
"setosa" "versicolor" "virginica"
小 => 大の順になっている。
summary(x)でもこの順で集計される
PR
# クリップボードからデータフレームを読み込む関数
# psychパッケージのread.clipboardの名前を変えただけである
# データフレーム名 <- read.c()
read.c <- function (header = TRUE, ...) {
MAC <- Sys.info()[1] == "Darwin"
if (!MAC) {
if (header)
return(read.table(file("clipboard"), header = TRUE,
...))
else return(read.table(file("clipboard"), ...))
}
else {
if (header) {
return(read.table(pipe("pbpaste"), header = TRUE,
...))
}
else {
return(read.table(pipe("pbpaste"), ...))
}
}
}
# 書き出すのもそのうちどうにかしよう
# 適当にやってみたらできた
write.c <- function(x) {
x <- write.table(x=x, "clipboard", sep="\t", row.names=FALSE, quote=FALSE)
}
# write.c(データフレーム名)
# psychパッケージのread.clipboardの名前を変えただけである
# データフレーム名 <- read.c()
read.c <- function (header = TRUE, ...) {
MAC <- Sys.info()[1] == "Darwin"
if (!MAC) {
if (header)
return(read.table(file("clipboard"), header = TRUE,
...))
else return(read.table(file("clipboard"), ...))
}
else {
if (header) {
return(read.table(pipe("pbpaste"), header = TRUE,
...))
}
else {
return(read.table(pipe("pbpaste"), ...))
}
}
}
# 適当にやってみたらできた
write.c <- function(x) {
x <- write.table(x=x, "clipboard", sep="\t", row.names=FALSE, quote=FALSE)
}
# write.c(データフレーム名)