Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取for循环中列表的名称_R_List_Control Flow - Fatal编程技术网

获取for循环中列表的名称

获取for循环中列表的名称,r,list,control-flow,R,List,Control Flow,在PHP中,您可以使用访问for循环中数组的名称和值 foreach ( $array as $key => $value ) { 当在命名列表上循环时,R中有什么可比的吗?使用一些虚拟数据和一个愚蠢的人为示例 ll <- list(A = 1:10, B = LETTERS[1:10], C = letters[1:10]) 或for()在列表上循环: ll2 <- vector("list", length(ll)) nams <- names(ll) for(i

在PHP中,您可以使用访问for循环中数组的名称和值

foreach ( $array as $key => $value ) {

当在命名列表上循环时,R中有什么可比的吗?

使用一些虚拟数据和一个愚蠢的人为示例

ll <- list(A = 1:10, B = LETTERS[1:10], C = letters[1:10])
for()
在列表上循环:

ll2 <- vector("list", length(ll))
nams <- names(ll)
for(i in seq_along(ll)) {
    ll2[[i]] <- paste(nams[i], "=", paste(ll[[i]], collapse = ", "))
}
ll2

R> ll2
[[1]]
[1] "A = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10"

[[2]]
[1] "B = A, B, C, D, E, F, G, H, I, J"

[[3]]
[1] "C = a, b, c, d, e, f, g, h, i, j"

ll2要获取列表的名称,只需使用
names(list)


以下是一种更简单的方法:

for (name in names(myList)) {
    print(name)
    print(myList[[name]])
}

注意:我没有写这段代码。我从中复制了它。

您能更具体地说明一下,您是使用
for
循环还是使用类似于R中的
lappy
的东西在列表上循环吗?也许是一个非常基本的例子(在R代码中)?@joran:澄清了问题。是的,用于在列表上循环。我不能在这个特定的例子中使用lappy。我在这里问了一个相关的问题:好的;在R中,你只能得到
for
循环语法的普通
。通常你会通过将
名称(myList)
myList
与循环索引
i
@joran:是的,好的,也许这是唯一的答案。我刚刚意识到,对于列表列表(本例中的一个示例),可以使用多个*apply函数,例如
result
ll <- list(A = 1:10, B = LETTERS[1:10], C = letters[1:10])
names(ll)
#[1] "A" "B" "C"
sapply(ll, max)
#   A    B    C 
#"10"  "J"  "j" 
for (name in names(myList)) {
    print(name)
    print(myList[[name]])
}