在R中的list()中,名字自动由``包围,为什么?

时间:2018-10-04 02:10:35

标签: r list

在列表中,第一个组件已自动赋予``,为什么? 我认为应该是$ f而不是$`f`。

> list(f=c(1,2),h=c(1,2))
$`f`
[1] 1 2

$h
[1] 1 2

1 个答案:

答案 0 :(得分:-2)

如果使用数字值作为列表元素名称,则会发生这种情况。这样做是为了清楚地区分列表索引(例如list[1])和列表名称(例如list$'1'-在此处格式化引号错误)。

在您的示例中:

list <- list(f=c(1,2),h=c(1,2))
$f
[1] 1 2

$h
[1] 1 2

可以通过命名或索引访问元素fh

# 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