gpt4 book ai didi

r - 创建列表时出现意外的符号错误

转载 作者:行者123 更新时间:2023-12-02 09:04:47 26 4
gpt4 key购买 nike

我正在尝试为两个因素的特定级别创建颜色列表。参数如下:

> df.coldata
Condition Tank
R235 Control T6
R236 LowExposure T6
R239 HighExposure T6
R241 Control T8
R242 LowExposure T8
R245 HighExposure T8
R247 Control T14_3
R248 LowExposure T14_3
R250 HighExposure T14_3

由于我不想手动填写储 jar 编号或条件,因此我尝试使用指定的变量创建一个列表,如下所示:

### Specify colors ####
Tanks <- levels(df.coldata$Tank)
Conditions <- levels(df.coldata$Condition)

ann_colors <- list(
Condition = c(Conditions[1]="lightskyblue", # This doenst work ... BUGS here!!!
Conditions[3]="royalblue1",
Conditions[2]="navyblue"),
Tank = c(Tanks[1]="gray90",
Tanks[2]="gray65",
Tanks[3]="gray40")
)

但这会产生一个错误,告诉我:

Error: unexpected '=' in:
"ann_colors <- list(
Condition = c(Conditions[1]="

当我运行代码时:

ann_colors <- list(
Condition = c(Control="lightskyblue",
LowExposure="royalblue1",
HighExposure="navyblue"),
Tank = c(T14_3="gray90",
T6="gray65",
T8="gray40")
)

它就像一个魅力。我究竟做错了什么?我错过了什么吗?

最佳答案

使用setNames代替:

ann_colors <- list(
Condition = setNames(c("lightskyblue", "royalblue1", "navyblue"), Conditions),
Tank = setNames(c("gray90", "gray65", "gray40"), Tanks)
)

您的代码错误的原因是我们正在尝试为 c() 内的条件/坦克分配新值。下面的代码可以工作,并将Conditions的第一个值替换为“lightskyblue”,但这不是我们想要的:

Conditions[1] = "lightskyblue"
Conditions
# [1] "lightskyblue" "HighExposure" "LowExposure"

并将其包装在 c() 中会引发错误:

c(Conditions[1] = "lightskyblue")
# Error: unexpected '=' in "c(Conditions[1] ="

关于r - 创建列表时出现意外的符号错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59841967/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com