我的df就像:
L T m EI f.1 f.4 f.6 f.5 f.9
1 10 1.0 6.190004 9988.997 6.59710 13.38665 20.55083 28.25382 36.63822
6 10 3.5 6.190004 9988.997 12.11441 24.33067 36.74911 49.46745 62.58052
19 25 1.0 6.190004 9988.997 2.57757 5.16730 7.78128 10.43146 13.12981
24 25 3.5 6.190004 9988.997 4.79088 9.58822 14.39848 19.22824 24.08453
现在我想用ddplyr
处理这个df,如下面的步骤,转义循环结构。
?
是1,4,6,5,9。列名是le.?
。跟随le
的数字可能会在另一个过程中改变。enfoo
求解方程L, T, f.?
,每个方程的根与df绑定我在这个过程中遇到的问题是:
f.?
命名的列并使用ddplyr
创建新列?如果我正确理解了这个问题,那么这可能有所帮助
请注意,为了演示目的,我在f.?
列上应用了一个简单的函数来创建le.?
列。即f.*
。
在下面的代码中,您可以通过调整le.*
参数将此简单函数替换为您定义的函数。
l.* = (f.*) / 2
输出是:
funs
样本数据:
library(dplyr)
df %>%
mutate_at(vars(f.1:f.9), funs(le=./2)) %>%
rename_at(vars(f.1_le:f.9_le), funs(gsub("[a-zA-Z]+[.](\\d+)[_](\\S+)","\\2.\\1",.)))