Использование lapply после разделения строки в R [дубликат]

Это новый синтаксис для явного относительного импорта . Это означает импорт из текущего пакета.

20
задан Saksham 20 June 2015 в 16:40
поделиться

2 ответа

Операторы в R - это просто функции.

Они эквивалентны:

> x <- list(a=1,b=2)
> x[1]
$a
[1] 1

> `[`(x,1)
$a
[1] 1

Обратные ссылки необходимы только для предотвращения интерпретации синтаксического анализатора (например, чтобы сказать, что это функция name, чтобы не начинать интерпретацию [ преждевременно).

Будучи функцией, он следует тем же объектно-ориентированным правилам (в данном случае S3), как и все остальное.

> methods(`[`)
 [1] [.acf*             [.arrow*           [.AsIs             [.bibentry*        [.cluster*         [.data.frame       [.data.table*     
 [8] [.Date             [.difftime         [.envlist*         [.factor           [.formula*         [.fractions*       [.getAnywhere*    
[15] [.gList*           [.gpar*            [.gtable*          [.hexmode          [.idf*             [.indexed*         [.insensitive*    
[22] [.ITime*           [.listof           [.noquote          [.numeric_version  [.octmode          [.pdf_doc*         [.person*         
[29] [.POSIXct          [.POSIXlt          [.quoted*          [.raster*          [.roman*           [.shingle*         [.simple.list     
[36] [.split*           [.terms*           [.trellis*         [.ts*              [.tskernel*        [.uneval*          [.unit*           
[43] [.unit.arithmetic* [.unit.list*       [.vpPath*         

   Non-visible functions are asterisked

+, = и т. д. и другие операторы работают так же.

20
ответ дан Ari B. Friedman 16 August 2018 в 00:54
поделиться

Квадратные скобки на самом деле являются функцией, первым аргументом которой является подмножество объекта. Последующие аргументы - это индекс этого подмножества.

# For example, if M is a matrix
M[1, 2]  # extracts the element at row 1, col 2
# is the same as 
`[`(M, 1, 2)
# Try them! 

Теперь посмотрим на аргументы lapply:

args(lapply)
# function (X, FUN, ...) 

Все представленные в этих точках передаются функции FUN в качестве аргументов.

Таким образом, когда FUN="[" первый аргумент "[" является текущим элементом списка (выполняется повторение), т. е. подмножество объекта. В то время как последующие аргументы являются индексами "["

30
ответ дан Ricardo Saporta 16 August 2018 в 00:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: