在R中读取整个数组,而不是逐个成员读取

  • 本文关键字:读取 成员 数组
  • 更新时间 :
  • 英文 :


我正在使用httr检索R中的http响应:

my_recs = POST(url,body=readChar(fileName, file.info(fileName)$size), do.call(add_headers, hd))
my_recs_str = content(my_recs)
my_recs_data = my_recs_str$data

我试图检索存储在my_recs_data中的整个id集,但我只能使用双括号到达它们:

my_ids[i] = my_recs_data[[i]]$id

是否有任何方法可以检索所有id而不需要逐个循环?谢谢你。

您可以对代码进行如下矢量化:

my_ids = sapply(my_recs_data, `[[`, 'id')

这相当于my_recs_data[[i]][['id']]而不是…$id。然而,在实践中,这应该没有什么不同。

谢谢你!

从基于一个属性的嵌套列表中创建一个向量,而不是循环通过:

my_ids[i] = my_recs_data[[i]]$id
我使用

:

my_ids = sapply(my_recs_data, `[[`, 'id')

的两个嵌套属性,而不是循环通过:

prod_names[i]=my_recs_data[[i]]$productName$FullName
我使用

:

prod_names=sapply(my_recs_data, '[[','productName')['FullName',]

而不是最复杂的:

sku[i]=my_recs_data[[i]]$productSKU[[1]]$value

我使用了double sapply:

sku=sapply(sapply(my_recs_data,'[[','productSKU') ,'[[','value')

最新更新