【发布时间】:2018-03-03 23:15:59
【问题描述】:
这是我的功能:
adjusted <- c()
Adjustment <- function(delta, length) {
adjusted <<- vector_1 + delta*(index <= length)
head(adjusted)
}
这是我想要实现的硬编码示例:
adjusted <- c()
Adjustment <- function(delta, length, group = 1) {
adjusted <<- vector_1[1:100] + delta*(index <= length)
head(adjusted)
}
我想实现一个参数或循环,对输入的组参数值在 vector_1 的相应范围内执行计算。例如,如果我改为输入 group =2,则函数将如下所示:
adjusted <- c()
Adjustment <- function(delta, length, group = 2) {
adjusted <<- vector_1[101:200] + delta*(index <= length)
head(adjusted)
}
实际问题:
我将如何实现这一目标?
我发现 dplyr 包可能对此有用,但我没有成功实施它。
任何见解将不胜感激!
【问题讨论】:
-
group和您传递给vector_1的索引之间存在直接映射。你就不能写vector_1[(100*(group-1) + 1):100*group]吗? -
你能只添加几行数据和预期的输出吗?我怀疑有一个更简单的解决方案。
-
@ManishSaraswat 如果您点击超链接,您会看到几行数据。
-
@ruaridhw 没有直接映射。
-
和输出?请参阅本指南以获得快速和合适的解决方案:stackoverflow.com/questions/5963269/…
标签: arrays r function vector dplyr