使用 plyr 对 df 进行多重变换

发布于 2024-08-13 21:01:13 字数 290 浏览 2 评论 0原文

我有一个 df,我想用 plyr:

idplot / idtree / species /  condition / dbh_cm / h_m / hblc_m


CalcG <- function (df) transform(df, g_m2 = pi * (dbh_cm^2)/40000)

CalcHD <- function (df) transform(df, hd = h_m / dbh_cm)

...

可以在一个函数中完成多重转换吗? 非常感谢。

I have a df and I want to do multiple transform on it with plyr:

idplot / idtree / species /  condition / dbh_cm / h_m / hblc_m


CalcG <- function (df) transform(df, g_m2 = pi * (dbh_cm^2)/40000)

CalcHD <- function (df) transform(df, hd = h_m / dbh_cm)

...

Can be done in one function?
Many thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁吢 2024-08-20 21:01:13

是的,只需用逗号分隔您的作业:

> head(swiss)
             Fertility Agriculture Examination Education Catholic
Courtelary        80.2        17.0          15        12     9.96
Delemont          83.1        45.1           6         9    84.84
Franches-Mnt      92.5        39.7           5         5    93.40
Moutier           85.8        36.5          12         7    33.77
Neuveville        76.9        43.5          17        15     5.16
Porrentruy        76.1        35.3           9         7    90.57
             Infant.Mortality
Courtelary               22.2
Delemont                 22.2
Franches-Mnt             20.2
Moutier                  20.3
Neuveville               20.6
Porrentruy               26.6

> head(transform(swiss, Agriculture = Agriculture ^ 2, Catholic = -Catholic))
             Fertility Agriculture Examination Education Catholic
Courtelary        80.2      289.00          15        12    -9.96
Delemont          83.1     2034.01           6         9   -84.84
Franches-Mnt      92.5     1576.09           5         5   -93.40
Moutier           85.8     1332.25          12         7   -33.77
Neuveville        76.9     1892.25          17        15    -5.16
Porrentruy        76.1     1246.09           9         7   -90.57
             Infant.Mortality
Courtelary               22.2
Delemont                 22.2
Franches-Mnt             20.2
Moutier                  20.3
Neuveville               20.6
Porrentruy               26.6

Yes, just separate your assignments by commas:

> head(swiss)
             Fertility Agriculture Examination Education Catholic
Courtelary        80.2        17.0          15        12     9.96
Delemont          83.1        45.1           6         9    84.84
Franches-Mnt      92.5        39.7           5         5    93.40
Moutier           85.8        36.5          12         7    33.77
Neuveville        76.9        43.5          17        15     5.16
Porrentruy        76.1        35.3           9         7    90.57
             Infant.Mortality
Courtelary               22.2
Delemont                 22.2
Franches-Mnt             20.2
Moutier                  20.3
Neuveville               20.6
Porrentruy               26.6

> head(transform(swiss, Agriculture = Agriculture ^ 2, Catholic = -Catholic))
             Fertility Agriculture Examination Education Catholic
Courtelary        80.2      289.00          15        12    -9.96
Delemont          83.1     2034.01           6         9   -84.84
Franches-Mnt      92.5     1576.09           5         5   -93.40
Moutier           85.8     1332.25          12         7   -33.77
Neuveville        76.9     1892.25          17        15    -5.16
Porrentruy        76.1     1246.09           9         7   -90.57
             Infant.Mortality
Courtelary               22.2
Delemont                 22.2
Franches-Mnt             20.2
Moutier                  20.3
Neuveville               20.6
Porrentruy               26.6
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文