gpt4 book ai didi

r - 根据 aes 设置,facet_wrap 无法正常工作

转载 作者:行者123 更新时间:2023-12-04 12:00:07 25 4
gpt4 key购买 nike

我有以下数据框:

test <- data.frame(x=c(1:8), y=c(8:1), Type=c("A","A","A","A","B","B","B","B"), Condition=c("aa","bb","cc","dd"))

x y Type Condition
1 1 8 A aa
2 2 7 A bb
3 3 6 A cc
4 4 5 A dd
5 5 4 B aa
6 6 3 B bb
7 7 2 B cc
8 8 1 B dd

当我运行以下命令时,我可以获得正确的图形,如“test1”。

q <- ggplot(test, aes(x, y, color=Type)) + geom_point(size=10) + labs(title = "test1")
q <- q + facet_wrap("Condition")
q

测试 1:test1

但实际上我想运行以下命令,因为我分析的数据集的colnames有时会不同。

q <- ggplot(test, aes(test[,1], test[,2], color=Type)) + geom_point(size=10) + labs(title = "test2")
q <- q + facet_wrap("Condition")
q

但输出是错误的,如“test2”: test2

有人可以告诉我解决方案吗?感谢您的帮助!


编辑通过像这样使用 aes_string() 解决了这个问题。

p <- ggplot(test, aes_string(x = colnames(test)[1], y = colnames(test)[2], color="Type")) + geom_point(size=10)
p <- p + facet_wrap("Condition")
p

谢谢大家!

最佳答案

ggplot 不喜欢 aes 中的列索引。使用 aes_string() 代替索引列名:

ggplot(data=test,
mapping=aes_string(x=names(test)[1], y=names(test)[2], color="Type")) +
geom_point(size=10) +
facet_wrap(~ Condition)

关于r - 根据 aes 设置,facet_wrap 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20373863/

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