私はRに新しく、Rでの試験の準備を1週間で行うことを試みています。集計()を使用してNA値をカウントし、代替としてtapply()を使用する方法
宿題に関する質問のうち、私は可能な限り多くの方法で1つの問題を解決しようとしています。時間制約の厳しいコーディング試験では、より多くのツールを用意するのが便利です。
問題は次のとおりです。私のデータセットでは、「ckm_nodes.csv
」
変数適用日は 医師は、医師がそれを処方し始めなかった場合は11月1953年から数えて、テトラサイクリンを処方始めた月を記録します研究が終了した1955年2月17日までに、Infとして記録されます。医師がテトラサイクリンを採用した時期がわからない場合、その値はNAです。次のように答えます。 (a)試験の各月にテトラサイクリンを処方し始めた医師は何人ですか? (b)研究中に何人もそれを処方したことがありませんでしたか? (c)NAは何人ですか?
私はaggregate()関数を使用して、各月に処方し始めた医者の数を数えようとしていました。私のベースコードは:
aggregate(nodes$adoption_date, by = nodes["adoption_date"], length),
ですが、NA値では動作します。
私は集約関数は、NA値をカウントしてみましょうことができる方法があるかどうか、私は疑問に思うので、私は、次の言う集計()関数で、上のRのドキュメントをお読みください。
na.action
データにNA値が含まれているときにどうなるべきかを示す関数。デフォルトでは、指定された変数の欠損値は無視されます。
私はこの問題を解決し、 "na.action = NULL"を設定する方法を探った。
aggregate(nodes$adoption_date, by = nodes["adoption_date"], length, na.action = NULL)
エラーをFUNに(Xは、[[I]]、...): 2引数が必要です '長さ' に渡され、私はこのコードを実行しようとすると、しかし、ここで何が起こっています1
順に引数を移動しようとしました:FUNで
aggregate(nodes$adoption_date, length, by = nodes["adoption_date"], na.action = NULL)
エラー(X [I]、...): 2引数が 'length'に渡される必要があります。1
しかし、どちらも機能しません。
これを修正する方法はありますか?
***************** tapply()
一つは宿題にQ1を解決するために、 "tapply" 機能を使用できるかどうかさらに、私は思っていました。引数が が
を同じ長さを持っている必要があります**************:私は($のadoption_date、カウントノード、ノード)tapplyに
count <- function(data){
return(length(data$adoption_date))
}
count_tetra <- tapply(nodes,nodes$adoption_date,count)
エラーを試してみましたループ
同じ目標を達成するためにどのようにループを使うことができるのだろうかと思います。
私はベクトルをソートすることにより起動することができます、そして、
nodes_sorted <- nodes[order(nodes$adoption_date),]
ループのために書くが、どのように...?
目標はベクトルカウントを取得し、countの各要素は処方数の値に対応します。
ありがとうございます!
例データ:
ノード< - data.frame( adoption_date =担当者(C(1:17、NA、INF)、時間= Cの(REP(5,17) 、20,3)) )
こんにちは。あなたは詳細なレベルを提供していますが、コードスニペットをコードとしてフォーマットする必要があります。 – Spangen