这些不是完全相同的,因为它们的属性不同。
> str(x[[1]])
length 3 { a <- 1; b <- 2 }
- attr(*, "srcref")=List of 3
..$ :Class 'srcref' atomic [1:8] 1 15 1 15 15 15 1 1
.. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x31b4f90>
..$ :Class 'srcref' atomic [1:8] 1 16 1 19 16 19 1 1
.. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x31b4f90>
..$ :Class 'srcref' atomic [1:8] 1 21 1 24 21 24 1 1
.. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x31b4f90>
- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x31b4f90>
- attr(*, "wholeSrcref")=Class 'srcref' atomic [1:8] 1 0 1 25 0 25 1 1
.. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x31b4f90>
> str(y[[1]])
length 3 { a <- 1; b <- 2 }
- attr(*, "srcref")=List of 3
..$ :Class 'srcref' atomic [1:8] 1 17 1 17 17 17 1 1
.. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x31b6ac0>
..$ :Class 'srcref' atomic [1:8] 1 18 1 21 18 21 1 1
.. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x31b6ac0>
..$ :Class 'srcref' atomic [1:8] 1 23 1 26 23 26 1 1
.. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x31b6ac0>
- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x31b6ac0>
- attr(*, "wholeSrcref")=Class 'srcref' atomic [1:8] 1 0 1 27 0 27 1 1
.. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x31b6ac0>
这是因为使用了
{
,可以通过一个简化的例子来看到:
> str(quote(a))
symbol a
> str(quote({a}))
length 2 { a }
- attr(*, "srcref")=List of 2
..$ :Class 'srcref' atomic [1:8] 1 11 1 11 11 11 1 1
.. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x1e940c8>
..$ :Class 'srcref' atomic [1:8] 1 12 1 12 12 12 1 1
.. .. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x1e940c8>
- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x1e940c8>
- attr(*, "wholeSrcref")=Class 'srcref' atomic [1:8] 1 0 1 13 0 13 1 1
.. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x1e940c8>
?Paren
还提供了一些指导。
identical(as(x, "character"), as(y, "character"))
。 - dimitris_psall.equal(x,y)# [1] TRUE
- Mamoun Benghezal