私は R にまったく慣れていないので、あえてここで質問するのはこれが初めてです。
リッカート スケールを使用してデータセットを使用しています。名前の最初の文字列を共有するさまざまな列のグループで行合計を計算したいと考えています。
以下では、従ったアプローチを説明するために 2 行のみのデータ フレームを作成しましたが、より効率的な方法を作成する方法についてフィードバックを受け取りたいと考えています。
df <- as.data.frame(rbind(rep(sample(1:5),4),rep(sample(1:5),4)))
var.names <- c("emp_1","emp_2","emp_3","emp_4","sat_1","sat_2"
,"sat_3","res_1","res_2","res_3","res_4","com_1",
"com_2","com_3","com_4","com_5","cap_1","cap_2",
"cap_3","cap_4")
names(df) <- var.names
それで、私がしたことは、特定の文字列で始まる指定された変数の行を合計し、それらを新しい変数に格納できるようにするために、grep関数を使用することでした。しかし、変数ごとに新しいコード行を書かなければなりません。
df$emp_t <- rowSums(df[, grep("\\bemp.", names(df))])
df$sat_t <- rowSums(df[, grep("\\bsat.", names(df))])
df$res_t <- rowSums(df[, grep("\\bres.", names(df))])
df$com_t <- rowSums(df[, grep("\\bcom.", names(df))])
df$cap_t <- rowSums(df[, grep("\\bcap.", names(df))])
しかし、データセットにはさらに多くの変数があり、1 行のコードだけでこれを行う方法があるかどうか知りたいです。たとえば、同じ文字列で始まる変数をグループ化し、行関数を適用する方法があります。
前もって感謝します!