r - 选定列乘以给定向量

一段时间以来,我一直在为 R 中的一项任务而苦苦挣扎,这似乎很容易。

假设这是我的示例数据:

df <- data.frame(a=c(2,2,7),b=c(1,4,3),c=c(9,5,3))
v <- c(1,2,3)

现在我想将每一列乘以相应的向量元素,例如第一列 v[1],第二列 v[2] 等等。

预期输出:

  a b  c
1 2 2 27
2 2 8 15
3 7 6  9

目标数据要大得多,由整数和 float 组成。 提前致谢!

最佳答案

你可以使用sweep:

sweep(df, 2, v, FUN="*")

第二个选项是mapply:

mapply(`*`, df, v)

或转置:

t(t(df)*v)

https://stackoverflow.com/questions/74200924/

相关文章:

haskell - 如何声明一个参数可以是 (Int, Int) 或 Maybe (Int, Int

python - 将扁平化列表转换为字典列表

powershell - 执行功能默认操作,除非给出管道输入?

r - 更快地填充矩阵

javascript - 左侧条件分配

r - R中,如果有多个TRUE答案,选择第一个TRUE答案

r - 使用 group_by() 根据条件折叠 R 中的数据集

r - 如何合并两个数据框并提取列的唯一组合?

c - 在分配内存之前对灵活成员数组的第一个元素使用 sizeof 是未定义的行为?

node.js - react native : A failure occurred while