0
のループを介して新しい変数を作成する1から構成構成されるデータセットである)黒ガラス玉の数白い大理石の2)数及び3)総大理石ここでR
white<- c(5, 6,3,5, 9)
black<- c(1, 3,7,5,2)
total<- c(6,9,10,10,11)
data<- data.frame(white, black, total)
私がしたい場合2つの新しい変数perwhiteを作成するループを作成します。これは、白/全体と黒/全体であるperblackです。何をする必要がありますか?ここで
は私が、私は、データセット内の新しい列を作成しようとしていますとき、現在の構文に問題があると考え、これまで
variables<- list("white","black")
newnames<- list("perwhite", "perblack")
for (i in 1:2) {
data$newnames[i]<- data[,variables[[i]]]/data$total
}
を試してみたものです。
ありがとうございました!
'transform(data、x = white/total、y = black/total)'は片道です。プログラムでそれを行うには、ええ、ループは大丈夫です。 '' data [、unlist(newnames)] ' - lapply(variables、function(x)data [[x]]/data $ total) 2つのオブジェクトを定義するために、リスト()を使用します。 – Frank
本当の問題は 'x $ y [i] <-'が有効な構文ではないことです。 '$'の右側には、裸の名前だけを文字列として含めることができます。 – Frank