R データ フレームの列名を含む文字列を使用して基本的な計算を行い、新しい列に変更する方法がわかりません。たとえば、ベースライン値の列と、治療後のタイムポイントを含む他の列があります。異なるタイムポイントが指定されたデータを使用し、プログラムによる解決策が必要なため、これには列名の文字列を使用したいと考えています。
たとえば、私はこのデータ フレームを持っています。以下の mutate 行でいくつかの構文を使用する必要があると思いますが、右側の記述方法を正確に理解できません。'day1_fc' と 'day2_fc' という名前の列で、day1/ベースラインと day2/ベースラインの倍率変化を表す必要があります。
df <- data.frame(day0 = c(1,1,1),
day1 = c(2,3,4),
day2 = c(3,4,5))
baseline = 'day0'
sym_baseline <- sym(baseline)
post = c('day1', 'day2')
post1 <- post[1]
post2 <- post[2]
df %>%
mutate(!!paste0(post1, '_fc' := ?????),
!!paste0(post2, '_fc') := ?????)
結果を次のようにしたい:
df <- data.frame(day0 = c(1, 0.5, 2),
day1 = c(2, 3, 4),
day2 = c(3, 4, 5),
day1_fc = c(2, 6, 2),
day2_fc = c(3, 8, 2.5))