iが( `ヘッドを使用し、mapply
df = data.frame(Patien_ID = rep(1:4,3), ulcer_area = rnorm(12,5),
initial = rep(c("Yes","No", "No"),4))
str(df)
'data.frame': 12 obs. of 3 variables:
$ Patien_ID : int 1 2 3 4 1 2 3 4 1 2 ...
$ ulcer_area: num 4.48 5.27 5.38 4.63 4.45 ...
$ initial : Factor w/ 2 levels "No","Yes": 2 1 1 2 1 1 2 1 1 2 ...
df$area_diff <- mapply(function(i, area) {
area/df$ulcer_area[df$initial == 'Yes' & df$Patien_ID == i]
},
i = df$Patien_ID, area = df$ulcer_area)
str(df)
'data.frame': 12 obs. of 4 variables:
$ Patien_ID : int 1 2 3 4 1 2 3 4 1 2 ...
$ ulcer_area: num 4.48 5.27 5.38 4.63 4.45 ...
$ initial : Factor w/ 2 levels "No","Yes": 2 1 1 2 1 1 2 1 1 2 ...
$ area_diff : num 1 1.246 0.933 1 0.992 ...
サンプルデータを使用する)'または 'dput()' –