全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1540 2
2024-09-20
我是36个国家的数据已经转换成网络结构想给36个国家各节点赋值人口总数的值。
人口上得表是36个国家2011-2021年的数据

set.vertex.attribute(n2011,"gdp",gdp01)
赋值后显示
! Must provide a graph object (provided wrong  object type).Run `[color=rgb(85, 87, 83) !important][url=]rlang::last_trace()[/url]` to see where the error occurred.
追踪后Backtrace:    ▆ 1. └─igraph::set_vertex_attr(n2011, "gdp", value = gdp01) 2.   ├─igraph:::is_complete_iterator(index) 3.   └─igraph::V(graph) 4.     └─igraph:::ensure_igraph(graph)Run [color=rgb(85, 87, 83) !important][url=]rlang::last_trace(drop = FALSE)[/url] to see 2 hidden frames.
问题出现在哪里呢?前两个月运行都很顺畅。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2024-10-16 18:51:14
在R语言中使用`set.vertex.attribute()`函数(实际上是`igraph`包中的`set_vertex_attr()`)给图的节点赋值时,你遇到的问题可能是由于没有正确传递图对象导致的。

从错误信息来看,你的代码应该是这样的:

```r
set.vertex.attribute(n2011, "gdp", gdp01)
```

但实际上`igraph`包中对应的函数是`set_vertex_attr()`。所以你应该使用如下方式:

```r
library(igraph)

# 假设 n2011 是你的图对象,而 gdp01 是一个与节点数量匹配的向量或列表。
set_vertex_attr(n2011, "gdp", value = gdp01)
```

确保`n2011`是一个有效的igraph对象,且`gdp01`的长度(元素个数)与图中节点的数量一致。如果`n2011`不是正确的图对象,或者`gdp01`的大小不匹配,则会引发错误。

此外,在使用函数前,请确保你已经正确加载了igraph包:

```r
library(igraph)
```

这将帮助R识别`set_vertex_attr()`等函数。如果问题仍然存在,请检查数据的结构和类型是否符合预期,并确认所有必要的变量都已定义且在当前作用域内可访问。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2024-10-21 21:16:13
赵安豆 发表于 2024-10-16 18:51
在R语言中使用`set.vertex.attribute()`函数(实际上是`igraph`包中的`set_vertex_attr()`)给图的节点赋值 ...
谢谢大佬
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群