在R中的for循环中将元素添加到嵌套列表中

时间:2017-04-25 08:36:10

标签: r for-loop nested-lists

我正在尝试将元素添加到循环中的嵌套列表中,但我无法让它工作。问题是我需要使用嵌套名称来定位值,例如nested_list [[“test1”]] [[“test2]],所以我不能只使用索引。

nested_list <- list()
list_of_nested_node_names <- c("test1", "test2", "test3")
position_in_list <- "nested_list"

for (i in 1:length(list_of_nested_node_names )) {
  position_in_list <<- paste(position_in_list, "[[\"", list_of_node_names[i], "\"]]", sep = "")
  eval(parse(text=position_in_list)) <<- list(1)
}

之前在以下线程中已讨论过该问题,以便添加到列表,但不是嵌套列表: Adding elements to a list in for loop in R

如何在循环中打印“position_in_list”,我可以使用“eval(parse(text = position_in_list))”来评估字符串,但是我不能在结构中放置数据?

1 个答案:

答案 0 :(得分:2)

require $_SERVER['DOCUMENT_ROOT'] . '/inc/aws/aws-autoloader.php'; error_reporting(E_ALL); ini_set("display_errors", 1); $params = array( 'credentials' => array( 'key' => 'abc', 'secret' => 'abc', ), 'region' => 'eu-west-1', // < your aws from SNS Topic region 'version' => 'latest' ); $sns = new \Aws\Sns\SnsClient($params); $args = array( "SenderID" => "TestSender", "SMSType" => "Transactional", "Message" => "Sending SMS with PHP", "PhoneNumber" => "+87654321" ); $result = $sns->publish($args); echo "<pre>"; var_dump($result); echo "</pre>"; ,好吧,评估表达式,因此它对分配的LHS没有真正的理解。

你可以使用它:

eval()

(评估整个作业)。

(另外,我不认为这里需要双箭头分配)。