teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

微修正

2017/11/10 10:42

投稿

KojiDoi
KojiDoi

スコア13727

answer CHANGED
@@ -1,10 +1,10 @@
1
- 各列をベクトルとして扱い、sapply一括変換すると良いでしょう。
1
+ 各列をベクトルとして扱い、sapplyを適用して一括変換すると良いでしょう。
2
2
  下の例では、例題の内容をデータフレームxxに取りこみ、1列目をコード化して4列目に、2列目をコード化して5列目に、それぞれ付け加えています。
3
3
  ```R
4
4
  # 変換表
5
5
  category <- matrix(c(
6
- "男", "1",
6
+ "男", "1",
7
- "女", "2",
7
+ "女", "2",
8
8
  "とても当てはまる", "positive",
9
9
  "少し当てはまる", "positive",
10
10
  "あまり当てはまらない", "negative",
@@ -26,8 +26,8 @@
26
26
  ## xx <- read.csv("~/test.csv", header=T, na.strings="")
27
27
 
28
28
  #変換
29
- xx[,4] <- unlist(sapply(xx[,1], cat_no))
29
+ xx[,4] <- sapply(xx[,1], cat_no)
30
- xx[,5] <- unlist(sapply(xx[,2], cat_no))
30
+ xx[,5] <- sapply(xx[,2], cat_no)
31
31
 
32
32
  print(xx)
33
33
  ```