それは奇妙な質問ですが、私は、これはあなたが欲しいものだと思う:
i = 0
while (i <= 8) {
j = i
if (j == 4) {
print(paste("for", j, "cylinders"))
print(rownames(subset(mtcars, subset = (cyl == j))))
}
i = i + 2
}
[1] "for 4 cylinders"
[1] "Datsun 710" "Merc 240D" "Merc 230" "Fiat 128"
[5] "Honda Civic" "Toyota Corolla" "Toyota Corona" "Fiat X1-9"
[9] "Porsche 914-2" "Lotus Europa" "Volvo 142E"
あなたが実際に簡単にループせずに答えを得ることができます:
rownames(subset(mtcars, subset = (cyl == 4)))
[1] "Datsun 710" "Merc 240D" "Merc 230" "Fiat 128"
[5] "Honda Civic" "Toyota Corolla" "Toyota Corona" "Fiat X1-9"
[9] "Porsche 914-2" "Lotus Europa" "Volvo 142E"
通常使用する場合ので、それは奇妙ですwhile
ループでは、特定の条件が満たされるまでループを実行したい場合がありますが、具体的にはcyl = 4
が必要です。 すべてのシリンダーを印刷する場合は、if(j == 4)
をif(j == i)
に変更することができます。
このコードは実行されません。あなたのifステートメントにはカッコが似ていません。実際に実行しているコードを反映するように編集してください。 – Barker