データ フレームの行に関数を適用し、列の各要素の値に基づいて値を返そうとしています。実際のコードには多くの変数があるため、各変数に名前を付けるのではなく、データフレーム全体を渡すことをお勧めします。これは簡単な例です。
試してみましpurrr map_dbl
たrowwise
が、どちらも機能しません。何か提案はありますか?
#sample df
df <- data.frame(Y=c("A","B","B","A","B"),
X=c(1,5,8,23,31))
#required result
Res <- data.frame(Y=c("A","B","B","A","B"),
X=c(1,5,8,23,31),
NewVal=c(10,500,800,230,3100)
)
#use mutate and map or rowwise etc
Res <- df %>%
mutate(NewVal=map_dbl(.x=.,.f=FnAdd(.)))
Res <- df %>%
rowwise() %>%
mutate(NewVal=FnAdd(.))
#sample fn
FnAdd <- function(Data){
if(Data$Y=="A"){
X=Data$X*10
}
if(Data$Y=="B"){
X=Data$X*100
}
return(X)
}