1. ホーム
  2. r

[解決済み] dataframeの全ての文字変数の値を小文字から大文字に変換する。

2023-06-12 07:17:42

質問

私は 混合データフレーム という文字と数値の変数があります。

city,hs_cd,sl_no,col_01,col_02,col_03
Austin,1,2,,46,Female
Austin,1,3,,32,Male
Austin,1,4,,27,Male
Austin,1,5,,20,Female
Austin,2,2,,42,Female
Austin,2,1,,52,Male
Austin,2,3,,25,Male
Austin,2,4,,22,Female
Austin,3,3,,30,Female
Austin,3,1,,65,Female

データフレーム内の小文字をすべて大文字に変換したい。各文字変数に対して繰り返し行わず、一発で行う方法はないでしょうか?

どのように解決するのですか?

次のサンプルデータから始めます。

df <- data.frame(v1=letters[1:5],v2=1:5,v3=letters[10:14],stringsAsFactors=FALSE)

  v1 v2 v3
1  a  1  j
2  b  2  k
3  c  3  l
4  d  4  m
5  e  5  n

を使うことができます。

data.frame(lapply(df, function(v) {
  if (is.character(v)) return(toupper(v))
  else return(v)
}))

ということになります。

  v1 v2 v3
1  A  1  J
2  B  2  K
3  C  3  L
4  D  4  M
5  E  5  N