R显式下标函数

R explicit subscript function

我正在寻找一个明确的函数来下标 R 中的元素,说 subscript(x,i) 表示 x[i]

我需要这个的原因可以追溯到使用 dplyrmagrittr 管道运算符的一段代码,它不是管道,我需要除以第一个元素每一列。

pipedDF <- rawdata %>% filter, merge, summarize, dcast %>%
   mutate_each( funs(./subscript(., 1) ), -index) 

我认为这可以解决问题并保留人们喜欢的管道语法。

如果没有 dplyr 它看起来像这样...

例如,

> df
  index    a   b c
1     1 6.00 5.0 4
2     2 7.50 6.0 5
3     3 5.00 4.5 6
4     4 9.00 7.0 7

> data.frame(sapply(df, function(x)x/x[1]))
  index    a   b    c
1     1 1.00 1.0 1.00
2     2 1.25 1.2 1.25
3     3 0.83 0.9 1.50
4     4 1.50 1.4 1.75

您应该可以使用 '[',如

x<-5:1
'['(x,2)
# [1] 4