私はいくつかのことをしてループを作成する使命を帯びています: ループ内の空の行にNA値を追加するにはどうすればよいですか?
- が欠落しているデータを持つ行を排除
本質的に、目標は、各患者内の一連の観測値から最初の欠損していない高さ値を得ることです。あなたが見ることができるように
for (i in 1:length(patients)){
# select data for one patient
patient = patients[i]
SubjectID_patient = filter(DF, Subject.ID == patient)
#select data which is not missing
complete_hts=filter(SubjectID_patient,
!is.na(SubjectID_patient$height_cm))
#select first visit for height
complete_hts=complete_hts[!duplicated(complete_hts$Subject.ID),]
# if there are 0 entries remaining, return NAs
????
#make dataframe for the patient
df_patient = data.frame(Subject.ID = complete_hts$Subject.ID,
height = complete_hts$height_cm)
##bind rows of this dataframe to first dataframe
baseline_new = rbind(baseline_new, df_patient)
}
だから、私はにこだわっている:すべての患者はので、私はこれが私の試みであるこのタスクのためのループを作成するために
を助言された観測や「missingness」の異なる量を持っています特定の患者の「高さ」変数の項目が0件の場合は、NAsを返します。このループは、0の有効な値がある場所にアクセスし、最後にデータフレームを作成できないため、正常に動作します。どんな提案も高く評価されます。これが私の最初の投稿であるので、不適切な書式設定があればそれを許してください!
ありがとうございます!
することができますdat [!is(dat $ height)]を実行して高さがnaの行をすべて削除し、患者リストをdata.frameに残っているものに更新してから設定します。あなたはおそらくforループなしでこれを行うことができますが、それは速くなるでしょう。 – Kristofersen