同じデータ フレーム内の他の変数の値に従って、データ フレームの値を変更 (または保持) したい。私はあまり成功せずに探して答えてきました。これは私が持っているデータベースの例です:
date day VM id
12/01/2013 4 133 1
12/01/2013 4 163 1
13/01/2013 5 143 1
13/01/2013 5 123 1
14/01/2013 6 90 1
14/01/2013 6 190 1
15/01/2013 7 922 1
15/01/2013 7 952 1
16/01/2013 1 13 1
16/01/2013 1 25 1
17/01/2013 2 333 1
17/01/2013 2 123 1
18/01/2013 3 143 1
18/01/2013 3 169 1
19/01/2013 4 203 1
19/01/2013 4 133 1
各数字は 1 日 (1:月曜日、2:火曜日、...) を表し、各日には数百のデータがあり、情報は 8 日間であるため、1 日が繰り返されます (ただし、日付は異なります)。要約を適用すると、繰り返される日のデータが混在しているという情報が得られます。それを避けたいのですが、最終使用日 (繰り返されるもの) を 8 に変更することを考えていますが、繰り返される日は id によって変更され、私はたくさんのデータを持っています。これまでのところ、私はこれを試しました:
unicos<-unique(data$id)
data_corr<-NULL
for(j in 1:length(unicos))
subset<-data[which(data$id==unicos[j]),]
subset$day1<-NULL
times<-0
vector<-NULL
for(i in 1:(dim(subset)[1])){
if((subset$day[i]<-subset$day[1]) && if (subset$date[i]<-subset$date[1])){
vector<-c(vector, i)
times<-times+1
subset$day1[i]<-subset$day[1]
}
subset$day1<-8
}
Basal_corr<-rbind(Basal_corr, subset)
}
最初の「for」は、一度に 1 つの ID に条件を適用することを意味します。2番目の部分は難しいものです。私がやりたいことは、行[i]の日が最初の行の日と同じである場合(それは繰り返される日であるため)、日付を確認することです。元の日の値を day1 という新しい列に保持したいのですが、日付が異なる場合、day1 の値は 8 になります。 id による変更。私はそれを実行しようとするたびに「エラー」を受け取ります。私はRの初心者であり、これは私が今まで知っていることを超えています。