gpt4 book ai didi

r - 根据名称有条件地乘以值

转载 作者:行者123 更新时间:2023-12-03 00:02:59 26 4
gpt4 key购买 nike

我有一个数据框,例如:

d <-
data.frame(
col1 = c(7, 8, 9),
col2 = c(12, 7, 0),
col3 = c(1, 2, 3)
)

和带有数字的向量

coefs <-
c(
col1 = 4,
col2 = 6
)

我需要实现的是,如果 df 中的列名称等于向量列,那么我想将其相乘。如果列名称不同、缺失或不相等,则它应该保持相同。

例如,对于上面的数据框和向量,结果应该是:

result <-
data.frame(
col1 = c(28, 32, 36),
col2 = c(72, 42, 0),
col3 - c(1, 2, 3)
)

我认为最好的方法是使用 mutate_if,但我不确定如何匹配列名。

最佳答案

您可以直接在基础 R 中执行此操作

d[names(coefs)] <- d[names(coefs)] * as.list(coefs)
d

# col1 col2 col3
#1 28 72 1
#2 32 42 2
#3 36 0 3

关于r - 根据名称有条件地乘以值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58799476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com