如何得到R中数据帧列的每个奇数索引值和偶数索引值的比率



我对R编程相当陌生。我正在处理一个具有值的数据帧列-

> data$col
[1] 37.80 37.76 37.27 36.67

我想在数据帧data中添加一个新列col_ratio,使data$col_ratio的输出为-

1.00 NA 1.01 NA

这基本上是CCD_ 4和CCD_。

我试过做

> data$col_ratio <- data$col[1]/data$col[2]
> data$col_ratio[2] <- NA

但我得到的输出是-

> data$col_ratio
[1] 1.001059       NA 1.001059 1.001059

我错过了什么来获得作为-的输出

1.00 NA 1.01 NA

谢谢!

seq是您的朋友:

# idx gets 1, 3, 5, ...
idx = seq(1L, nrow(data), by=2L)
# initialize the column to be missing and real-valued
data$col_ratio = NA_real_
data$col_ratio[idx] = data$col[idx] / data$col[-idx]

-idx排除奇数索引,即它是偶数索引。

如果nrow(data)是奇数,则必须格外小心,但基本思想是相同的。

最新更新