![](/img/trans.png)
[英]Apply a function to each row in a data.frame and append the result to the data.frame in R
[英]Apply and append data frame in R
我试图将数据框ALPHA转换为:
A B C D E
1 0.80 2.00 0.09 201.1 335.00
到数据帧测试版
A B C D E A1 B1 C1 D1 E1
1 0.80 2.00 0.09 201.1 335.00 1.60 3.00 0.18 402.2 670.00
因此几乎乘以2并附加。
目前这样做是:
curveCalculator <- function(variable, variableName){
// Need variableName here for another part
return(variable*2)
}
BETA <- lapply(ALPHA, function(variableName, variable){
calculated <- curveCalculator(variable, variableName)
return(calculated)
}, names(optional))
bind_cols(ALPHA, as.data.frame(BETA,col.names=paste(names(BETA), 1, sep="")))
但是,它传递了curveCalculator ALL NAMES,因此对于A,它将为变量传递0.80,为变量名传递c(“ A”,“ B”,“ C”,“ D”,“ E”)。 我希望它仅对A传递“ A”,对B传递“ B”,依此类推。
尝试这个
library(purrr)
BETA <- map2(ALPHA, names(ALPHA), curveCalculator) %>%
as.data.frame()
names(BETA) <- paste0(names(BETA), 1)
cbind(ALPHA, BETA)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.