在列表中,第一个组件已自动赋予``,为什么? 我认为应该是$ f而不是$`f`。
> list(f=c(1,2),h=c(1,2))
$`f`
[1] 1 2
$h
[1] 1 2
答案 0 :(得分:-2)
如果使用数字值作为列表元素名称,则会发生这种情况。这样做是为了清楚地区分列表索引(例如list[1]
)和列表名称(例如list$'1'
-在此处格式化引号错误)。
在您的示例中:
list <- list(f=c(1,2),h=c(1,2))
$f
[1] 1 2
$h
[1] 1 2
可以通过命名或索引访问元素f
和h
:
# Naming
list$f
[1] 1 2
# Indexing
list[1]
$f
[1] 1 2
# Indexing (alternative)
list[[1]]
[1] 1 2
另一方面,如果您的列表名称包含数字,则会将其强制为非数字值,以免造成混淆:
list <- list("2"=c(1,2),h=c(1,2))
$`2`
[1] 1 2
$h
[1] 1 2
# Naming
list$`2`
[1] 1 2
# Indexing
list[1]
$`2`
[1] 1 2
# Indexing (alternative)
list[[1]]
[1] 1 2