[解決済み] すべてのデータフレームの文字列を係数に変換する
2023-05-28 03:07:46
質問
様々な型の列を持つ(既存の)データフレームがある場合、他の型の列に影響を与えることなく、そのすべての文字列を因数に変換する最も簡単な方法は何でしょうか?
以下はその例です。
data.frame
:
df <- data.frame(A = factor(LETTERS[1:5]),
B = 1:5, C = as.logical(c(1, 1, 0, 0, 1)),
D = letters[1:5],
E = paste(LETTERS[1:5], letters[1:5]),
stringsAsFactors = FALSE)
df
# A B C D E
# 1 A 1 TRUE a A a
# 2 B 2 TRUE b B b
# 3 C 3 FALSE c C c
# 4 D 4 FALSE d D d
# 5 E 5 TRUE e E e
str(df)
# 'data.frame': 5 obs. of 5 variables:
# $ A: Factor w/ 5 levels "A","B","C","D",..: 1 2 3 4 5
# $ B: int 1 2 3 4 5
# $ C: logi TRUE TRUE FALSE FALSE TRUE
# $ D: chr "a" "b" "c" "d" ...
# $ E: chr "A a" "B b" "C c" "D d" ...
できることは分かっている。
df$D <- as.factor(df$D)
df$E <- as.factor(df$E)
この処理をもう少し自動化する方法はないでしょうか?
どのように解決するのですか?
DF <- data.frame(x=letters[1:5], y=1:5, stringsAsFactors=FALSE)
str(DF)
#'data.frame': 5 obs. of 2 variables:
# $ x: chr "a" "b" "c" "d" ...
# $ y: int 1 2 3 4 5
を使うことができます。
as.data.frame
を使うと、すべての文字列を因子列に変換することができます。
DF <- as.data.frame(unclass(DF),stringsAsFactors=TRUE)
str(DF)
#'data.frame': 5 obs. of 2 variables:
# $ x: Factor w/ 5 levels "a","b","c","d",..: 1 2 3 4 5
# $ y: int 1 2 3 4 5
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
R: hclust(d, method = method)でのエラー : 外部関数呼び出しは NA/NaN/Inf(arg10) を持つことができません。
-
R: 環境と変数のスコープ問題
-
[解決済み] Rでデータフレームに行を追加する方法は?
-
[解決済み] ggplot2 の軸ラベルを回転させ、間隔を空ける
-
[解決済み] Rでロードされているパッケージのバージョンを調べるには?
-
[解決済み] 先頭と末尾の空白を削除するにはどうしたらよいですか?
-
[解決済み] Rで文字列から最後のn文字を抽出する
-
[解決済み】自作関数を書くときにRの省略機能を使うには?
-
[解決済み】ifelse()でDateオブジェクトがnumericオブジェクトにならないようにする方法
-
[解決済み】エラー:Rで関数が見つかりませんでした。