【发布时间】:2018-09-04 14:35:54
【问题描述】:
我知道这个问题可能已经在其他地方得到了回答,如果重复了,我很抱歉,但我还没有找到可行的答案。
我有 17 个科目,每个科目都有两个变量,如下所示:
Time (s) OD
130 41.48
130.5 41.41
131 39.6
131.5 39.18
132 39.41
132.5 37.91
133 37.95
133.5 37.15
134 35.5
134.5 36.01
135 35.01
我希望 R 识别我的数据框的第 2 列 (OD) 中的第一个值,并通过从第 2 列,所以它看起来像这样:
Time (s) OD OD_adjusted
130 41.48 0
130.5 41.41 -0.07
131 39.6 -1.88
131.5 39.18 -2.3
132 39.41 -2.07
132.5 37.91 -3.57
133 37.95 -3.53
133.5 37.15 -4.33
134 35.5 -5.98
134.5 36.01 -5.47
135 35.01 -6.47
第 2 列中的第一个值为 41.48,因此我想从第 2 列中的所有数据点中减去该值以创建新的第三列 (OD_adjusted)。
我可以使用OD_adjusted <- ((df$OD) - 41.48) 但是,我想使用一个函数来自动化这个过程,这就是我卡住的地方:
AUC_OD <- function(df){
return_value_1 = df %>%
arrange(OD) %>%
filter(OD [1,2) %>%
slice_(1)
colnames(return_value_1)[3] <- "OD_adjusted"
if (nrow(return_value_1) > 0 ) { subtract
(return_value_1 [1,2] #into new row
else add
(return_value_1 [1,2] #into new row
}
【问题讨论】:
标签: r add identity subtraction