gpt4 book ai didi

r - ggplot 抛出错误 `label not found` ,而 `label` 显然存在

转载 作者:行者123 更新时间:2023-12-04 10:59:47 28 4
gpt4 key购买 nike

我可以绘制以下 df 的标签使用 geom_text :

df <- data.frame(
x = c(610, 426, 569, 253),
y = c(-226, -276, -364, -185),
label = c("accomplishments per week", "hours worked per week", "perceived adequacy of accomplishments", "energy level"),
stringsAsFactors = FALSE
)

ggplot(df, aes(x, y)) + geom_text(aes(label = label))

enter image description here

但是,当尝试对我的真实数据使用相同的绘图机制时,出现错误:

Error in FUN(X[[i]], ...) : object 'label' not found



为什么会这样,我该如何解决?

这是我的真实数据 df1 :
df1 <- structure(list(type = c("var", "var", "var", "var"),
id = c(1,2, 4, 7),
x = c(610, 426, 569, 253), y = c(-226, -276, -364, -185),
label = c("accomplishments per week", "hours worked per week", "perceived adequacy of accomplishments", "energy level"),
from = c(NA_real_,NA_real_, NA_real_, NA_real_),
to = c(NA_integer_, NA_integer_,NA_integer_, NA_integer_),
polarity = c(NA_character_, NA_character_, NA_character_, NA_character_),
group = c(1L, 1L, 1L, 1L)), .Names = c("type","id", "x", "y", "label", "from", "to", "polarity", "group"),
row.names = 7:10, class = c("cld", "data.frame")
)

df

type id x y label from to polarity group
7 var 1 610 -226 accomplishments per week NA NA <NA> 1
8 var 2 426 -276 hours worked per week NA NA <NA> 1
9 var 4 569 -364 perceived adequacy of accomplishments NA NA <NA> 1
10 var 7 253 -185 energy level NA NA <NA> 1

最佳答案

您的 df1属于 clddata.frame (请参阅上述 str 输出中的第二行)。 ggplot 似乎不喜欢对象是 cld第一的。为了解决这个问题,使用 as.data.frame部队df1成为data.frame仅类。您可以使用 class(df1)查看它,或查看 str(df1)下面输出。注意“类”行。

> str(df1)
Classes ‘cld’ and 'data.frame': 4 obs. of 9 variables:
$ type : chr "var" "var" "var" "var"
$ id : num 1 2 4 7
$ x : num 610 426 569 253
$ y : num -226 -276 -364 -185
$ label : chr "accomplishments per week" "hours worked per week" "perceived adequacy of accomplishments" "energy level"
$ from : num NA NA NA NA
$ to : int NA NA NA NA
$ polarity: chr NA NA NA NA
$ group : int 1 1 1 1

如果你强制它到 data.frame ,它工作正常。
ggplot(as.data.frame(df1), aes(x = x, y = y, label = label)) +
geom_text()

enter image description here

关于r - ggplot 抛出错误 `label not found` ,而 `label` 显然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55608432/

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