我可以使用geom_text
绘制以下df
的标签
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))
Error in FUN(X[[i]], ...) : object 'label' not found
为什么 is that和 how how I solve it?
这是我的真实数据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
发布于 2019-04-10 16:57:35
您的df1
属于cld
和data.frame
类(请参阅上面str
输出中的第二行)。看起来ggplot不喜欢对象是cld
优先的。为了绕过这个问题,使用as.data.frame
强制df1
仅成为data.frame
类。您可以使用class(df1)
查看它,或者查看下面的str(df1)
输出。注意"Classes“行。
> 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()
https://stackoverflow.com/questions/55608432
复制相似问题