首页 > 解决方案 > 如何紧凑地定义一个列表?

问题描述

这就是我现在所拥有的:

models = list()
models$A = 5700
models$Ą = 8600
models$B = 12400
models$C = 10000
models$Ć = 14900
models$D = 12200
models$E = 7700
models$Ę = 9800
models$F = 3600
models$G = 13200
models$H = 8400
models$I = 5500
models$J = 14900
models$K = 8200
models$L = 9900
models$Ł = 7100
models$M = 7100
models$N = 9300
models$Ń = 12100
models$O = 10200
models$Ó = 5600
models$P = 14200
models$R = 15000
models$S = 14800
models$Ś = 8800
models$T = 10400
models$U = 8500
models$W = 13300
models$Y = 7000
models$Z = 8000
models$Ź = 7800
models$Ż = 12400

我拒绝相信上面是初始化这样一个列表的最简单方法。

R中是否有任何列表文字语法?

标签: rlistinitializationliterals

解决方案


你可以看看?as.list。如果您有一个命名列表,它将直接分配名称

x <- c(A = 5700, B = 8600, C = 12400, D = 10000)
as.list(x)
#$A
#[1] 5700

#$B
#[1] 8600

#$C
#[1] 12400

#$D
#[1] 10000

或者,如果您有不同的数字和名称,您可以使用setNames它们来命名它们

x <- c(5700, 8600, 12400, 10000)
setNames(as.list(x), LETTERS[1:4])

推荐阅读