私はそれが簡単に修正だ疑いと私は、Rに新たなんだ(と一般的にコーディング)、これは愚かな質問であれば謝罪ので、正しく機能させる方法を理解していないだけですが、わかります。if文
私は、既存の列に含まれる値に依存している文字列を含むデータフレームに新しい列を追加したいです。行がPetal.Width列の「0.2」の値が含まれている場合、虹彩データと、例えば、私は、新しい列に「応答文字列1」のような文字列を貼り付けたいです。そしてPetal.Width = 0.4の値ならば、その後、同じ列に「レスポンス文字列2」を貼り付けます。
私はhereとhereの助けを借りてそれを理解しようとしましたが、動作させることができませんでした。
MyFunction <- function(petalWidth){
if (petalWidth == 0.2){
iris$NewColumn <- paste("Response String 1")
}
}
apply(iris, 1, MyFunction(iris$Petal.Width))
このエラーを思い付く:私はfor
声明に探しを含め、いくつかの他の方法を試してみた
Error in get(as.character(FUN), mode = "function", envir = envir) :
object 'Response String 1' of mode 'function' was not found
In addition: Warning message:
In if (petalWidth == 0.2) { :
the condition has length > 1 and only the first element will be used
は、これまでのところ、私はこのようなものを持っています。私は本当にこの関数を正しく動作させるためにどのように構築するのかは分かりません。どんなアイデアも大変ありがとうと思います。ありがとう!
うまく機能し、これをありがとうございました。もしwidth == 0.2ならpaste "RS1"、width == 0.3なら "RS2"、width == 0.5なら "RS3"を貼り付けますか?私はそれを 'if'で動作させることはできません。' df $ NewColumn = if(df $ Petal.Width == 0.2){paste( "string 1")} "ペースト"文字列1 "幅。 – heds1
http://www.statmethods.net/management/variables.html#recoding-variables – Marius
を参照してください。それは素晴らしいです。どうもありがとうございました – heds1