0

次のように、ID 用の 1 つの列と、100 の質問ごとのスコアをリストする 100 の列を持つデータセットがあります。

ID     Q1     Q2     ...     Q100
S1      1      1     ...        1

私は次のように私のコードを書きました:

library(reshape2)
new_df <- melt(df, id.vars = "ID", measure.var = c("Q1", "Q100))

ただし、これは明らかに機能しません。Q1 および Q100 カラムのみが溶解します。文字列または列の位置 ([,2:101] など) を使用して、Q1 を Q100 に溶かす方法はありますか?

ありがとう!

4

1 に答える 1

0

他にも何百もの変数があるとおっしゃっていたので、ID、Q1 から Q5 までの変数とランダムな名前のいくつかの変数を含むサンプル データ フレームを作成しました。

df <- data.frame(ID=c(1:20),Q1=sample(1:20,replace=T),
                    Q2=sample(1:20,replace=T),
                    Q3=sample(1:20,replace=T),
                    Q4=sample(1:20,replace=T),
                    sekf=sample(1:20,replace=T),
                    Q5=sample(1:20,replace=T),
                    rew=sample(1:20,replace=T)
                    )

#Counting variable names with "Q"
a <- paste("Q",1:(ncol(df)),sep="") %in% names(df)
 a2<- sum(a==T)


new_df <- melt(df, id.vars = "ID", measure.var = paste("Q",1:a2,sep=""))

これが役に立てば幸いです。

于 2015-02-27T07:26:38.253 に答える