list - 使用for循环从列表中获取元素

标签 list r for-loop

我正在尝试使用 forloop 从列表中提取值。该列表包含我从网页中抓取的 77 个元素。它们被放入一个列表中,strsplit 与相当困惑的正则表达式相匹配。

chunk <- strsplit(lines, "(<tr>|</td>)(<td>|<td[^>]+>)|aws| MB| KB")

示例元素如下所示:

> chunk[76]
[[1]]
 [1] ""                                                                                     
 [2] "<img src=\"/images/"                                                                  
 [3] "tats/flags/mn.png\" height=\"14\" alt='mn' title='mn' />"                             
 [4] "Mongolia"                                                                             
 [5] "mn"                                                                                   
 [6] "1"                                                                                    
 [7] "1"                                                                                    
 [8] "21.95"                                                                                
 [9] ""                                                                                     
[10] "<img src=\"/images/"                                                                  
[11] "tats/other/hp.png\" width=\"2\" height=\"5\" alt='Pages: 1' title='Pages: 1' /><br />"

我尝试提取我需要的每个元素的部分:

for (i in length(chunk)) {  
    values <- chunk[[i]][c(4,6:8)]
}

值返回的结果始终是最后一个列表元素的提取部分(chunk[[77]])

任何人都可以建议如何获取每个列表元素所需的值。

最佳答案

您应该替换values <- chunk[[i]][c(4,6:8)]values <- rbind(values,chunk[[i]][c(4,6:8)]) (在循环之前初始化values <- NULL)。

或者您可以在循环之前创建一个矩阵 values <- matrix(0,length(chunk),4)并在循环中使用 values[i,] <- chunk[[i]][c(4,6:8)] 。这样效率更高!

关于list - 使用for循环从列表中获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5429837/

相关文章:

替换R中的整个列

javascript在多维数组内容中动态导航

R(工作室)因素与水平

.net - ArrayOf 将 List<T> 与 WCF 休息服务一起使用时

python - 在 Python 中查找包含来自另一个列表的子字符串的列表元素

python - 删除字典列表中分数低的重复项

rowMeans 如果列名是数字

python - 我将如何使用 .join 和 for 循环制作随机十六进制代码生成器?

java - 什么时候调用静态循环?

java - 双大括号初始化的替代方案