生データとパーセントのカラムを持つデータセットがあります。いくつかのパーセンテージは100以上になってしまった。私はifelseステートメントを使って100より大きい数値を100に変換したい。しかし、ifelseステートメントを "PCT"という文字が入っているカラムに適用したい彼らの名前。ここでカラム名に基づいて複数のカラムに対してifelse文を使用
は一例です:
a <- c(4,6,1210,20, 603, 50)
b <- c(50,60,10,400,311, 40)
bubba <- data.frame(A_NUM=a,
A_PCT=b)
私はあることを、最終的なフォーマットをたい:私が得ている
a <- c(4,6,1210,20, 603, 50)
b <- c(50,60,10,100,100, 40)
bubba_fixed <- data.frame(A_NUM=a,
A_PCT=b)
最も近いがこれです:
bubba <- bubba [ , grepl("PCT" , names(bubba)) ]
bubba <- as.data.frame(lapply(bubba, function(x) ifelse(x > 100, 100, x)))
そして、それを元のデータセットに戻します。
ありがとうございました!
月'pmin(x、y)'は 'ifelse(x> y、y、x)'をより効率的に計算する方法であり、すべての項を2回書く必要がなくなります。 – Frank