楼主: 阿邹要学习
1539 2

[问答] R语言中用给节点赋值报错了。请各位大佬看看 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

64%

还不是VIP/贵宾

-

威望
0
论坛币
100 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
76 点
帖子
4
精华
0
在线时间
12 小时
注册时间
2022-3-9
最后登录
2025-5-19

楼主
阿邹要学习 发表于 2024-9-20 11:21:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我是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.
问题出现在哪里呢?前两个月运行都很顺畅。。。
二维码

扫码加我 拉你入群

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

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

关键词:R语言 IMPORTANT attribute Complete occurred

沙发
赵安豆 发表于 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()`)给图的节点赋值 ...
谢谢大佬

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-3 11:03