我试图将我的直接标签稍微向左移动,不是一组而是所有组。默认情况下 dl.move 一次只移动一组。
library(directlabels)
library(ggplot2)
count <- c(1,5,6,7,8,8)
year <- c(rep(c(2000,2001,2002),2))
group <- c(rep("A",3),rep("B",3))
c <- data.frame(year,count,group)
p <- ggplot(c, aes(x=year, y=count, colour=group)) + geom_line()
direct.label(p, "first.points")
Run Code Online (Sandbox Code Playgroud)
我可以移动一点...
kif <- dl.move("A", hjust=2, vjust=0)
direct.label(p, list("first.points",kif))
Run Code Online (Sandbox Code Playgroud)
但理想情况下,我只想以相同的方式将整个事情移到 a 上。我完全错过了一些愚蠢的语法吗?
我正在创建图表,其中一条白线在条形前面打破了条形(抱歉无法发布图像)。我已经得到了一次执行此操作的代码,但我还不擅长循环。
library(ggplot2)
count <- c(61.8,18.8)
name <- c("A","B")
yes <- data.frame(count,name)
j <- ggplot(yes, aes(x=name, y=count)) +
geom_bar(stat="identity", position="dodge")
Run Code Online (Sandbox Code Playgroud)
为了仅添加一行,我创建了这个函数......
b <- function (yx){
j + annotate("segment", x=-Inf, xend=Inf, y=yx, yend=yx,size=1, colour="white")
}
b(8)
Run Code Online (Sandbox Code Playgroud)
这就是我陷入困境的地方,我想制作一个可以遍历向量的循环,例如......
yx <- c(8,10,20)
Run Code Online (Sandbox Code Playgroud)
并在 8、10 和 20 处创建一行。一个棘手的问题是,除了终端数据(最后一个)之外的所有数据都需要在末尾有一个“+”。有人试过这个吗?
谢谢
我正在使用一堆SAS数据集,我更喜欢变量名称都是小写的,使用read.sas7bdat,但我这样做,所以我经常想编写一个函数.这个方法工作正常,
df <- data.frame(ALLIGATOR=1:4, BLUEBIRD=rnorm(4))
names(file1) <- tolower(names(file1))
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将它放入一个函数时它不会分配.
lower <- function (df) {names(df) <- tolower(names(df))}
lower(file1)
Run Code Online (Sandbox Code Playgroud)
我知道我缺少一些更大的概念,这阻碍了我.它似乎没有做任何事情.