参考:
和訳:
a <- 1:10
b <- c("たま", "しろ", "くろ", "みけ", "ぶち", "ぽち",
"ころ", NA, "じろ", "わん")
c <- c("猫", "猫", "猫", "猫", "猫", "犬", "犬", "犬",
"犬", "犬")
d <- rep(c("♂", "♀"), times = 5)
dat <- data.frame(a, b)
dat <- data.frame(年齢 = a, 名前 = b)
dat <- data.frame(年齢 = a, 名前 = b, 種 = c, 性別 = d,
stringsAsFactors = FALSE)
names(dat)
## [1] "年齢" "名前" "種" "性別"
names(dat)[2]
## [1] "名前"
names(dat)[2] <- "呼び名"
head(dat)
## 年齢 呼び名 種 性別
## 1 1 たま 猫 ♂
## 2 2 しろ 猫 ♀
## 3 3 くろ 猫 ♂
## 4 4 みけ 猫 ♀
## 5 5 ぶち 猫 ♂
## 6 6 ぽち 犬 ♀
head(dat, n = 3) #n:行数
## 年齢 呼び名 種 性別
## 1 1 たま 猫 ♂
## 2 2 しろ 猫 ♀
## 3 3 くろ 猫 ♂
tail(dat)
## 年齢 呼び名 種 性別
## 5 5 ぶち 猫 ♂
## 6 6 ぽち 犬 ♀
## 7 7 ころ 犬 ♂
## 8 8 <NA> 犬 ♀
## 9 9 じろ 犬 ♂
## 10 10 わん 犬 ♀
tail(dat, n = 3)
## 年齢 呼び名 種 性別
## 8 8 <NA> 犬 ♀
## 9 9 じろ 犬 ♂
## 10 10 わん 犬 ♀
class(dat)
## [1] "data.frame"
str(dat)
## 'data.frame': 10 obs. of 4 variables:
## $ 年齢 : int 1 2 3 4 5 6 7 8 9 10
## $ 呼び名: chr "たま" "しろ" "くろ" "みけ" ...
## $ 種 : chr "猫" "猫" "猫" "猫" ...
## $ 性別 : chr "♂" "♀" "♂" "♀" ...
dat$年齢
## [1] 1 2 3 4 5 6 7 8 9 10
class(dat$呼び名)
## [1] "character"
class(dat$年齢)
## [1] "integer"
dat[2, 3]
## [1] "猫"
dat[3, ]
## 年齢 呼び名 種 性別
## 3 3 くろ 猫 ♂
dat[, 3]
## [1] "猫" "猫" "猫" "猫" "猫" "犬" "犬" "犬" "犬" "犬"
dat[2:3, ]
## 年齢 呼び名 種 性別
## 2 2 しろ 猫 ♀
## 3 3 くろ 猫 ♂
dat[1, 2:3]
## 呼び名 種
## 1 たま 猫
dat[c(2, 4), ]
## 年齢 呼び名 種 性別
## 2 2 しろ 猫 ♀
## 4 4 みけ 猫 ♀
dat[, "呼び名"]
## [1] "たま" "しろ" "くろ" "みけ" "ぶち" "ぽち" "ころ" NA "じろ" "わん"
dat[, c("呼び名", "年齢")]
## 呼び名 年齢
## 1 たま 1
## 2 しろ 2
## 3 くろ 3
## 4 みけ 4
## 5 ぶち 5
## 6 ぽち 6
## 7 ころ 7
## 8 <NA> 8
## 9 じろ 9
## 10 わん 10
dat[2, 2] <- "こじろう" #値を上書き
dat[is.na(dat$呼び名), ] #欠損値を含む行
## 年齢 呼び名 種 性別
## 8 8 <NA> 犬 ♀
dat[dat$年齢 < 5, ] #年齢が5歳以下のサンプル
## 年齢 呼び名 種 性別
## 1 1 たま 猫 ♂
## 2 2 こじろう 猫 ♀
## 3 3 くろ 猫 ♂
## 4 4 みけ 猫 ♀
dat[dat$呼び名 %in% c("ころ", "じろ"), c(2, 4)]
## 呼び名 性別
## 7 ころ ♂
## 9 じろ ♂
dat2 <- dat$呼び名
class(dat2)
## [1] "character"
dat2 <- dat[, "呼び名", drop = FALSE]
class(dat2)
## [1] "data.frame"