ExcelのEOMonth関数を複製する関数を作成しようとしています(つまり、日付と月数を入力して、入力日の前/後の同じ月数)。私はlubridateパッケージを使用して、単一入力で動作機能を持っている:ユーザー定義ファンクションを使用してベクトルでNAsを処理する
EOMonth <- function(date, months)
{
NewDate <- date %m+% months(months)
NewDate <- ceiling_date(NewDate, "month") - days(1)
}
問題がどのように「vectorise」は、この(わからないことは右の単語)に。私は(この場合、データフレームの列)ベクトル関数を渡すときに、私は次のメッセージが表示されます:
NASが、私はしたくない添字の割り当てに
を許可されていません(データフレーム内の新しい列に結果を送信しているため)ベクトルのNAsを無視します。 NAを見てNAを返すだけで、関数が指示するすべての有効な日付を処理するだけの機能だけが必要です。私は本当にこれを行う方法については混乱しています。このトピックで見た投稿のほとんどは、結果からNAsを無視/削除する方法に関連しています。
ご協力いただければ幸いです。
ありがとうございました。
編集。いくつかのサンプルデータを追加しました。以下のサンプルの入力データである:
ので01/07/2016
NA
22/07/2016
NA
30/06/2016
22/07/2016
22/07/2016
29/07/2016
NA
22/07/2016
30/06/2016
NA
31/01/2016
02/08/2016
、次のように入力:
31/10/2016
NA
31/10/2016
NA
30/09/2016
31/10/2016
31/10/2016
31/10/2016
NA
31/10/2016
30/09/2016
NA
NA
30/04/2016
30/11/2016
サンプルデータはありますか?これは、人々があなたの質問に素早く答えるチャンスを大いに承認します。 –
こんにちはサンダー。確かに。オリジナルのコメントに貼り付けるだけですか?私はサイト上で質問することはめったにないので、まあまあです。ごめんなさい。 – sotiris
質問を編集してサンプルデータを追加することができます。あなたは、あなたのデータフレーム上で '' 'head(dput())' 'を単に行うことができます。 –