R 使用ggplot2打印不同长度的向量

R 使用ggplot2打印不同长度的向量,r,ggplot2,R,Ggplot2,我有8个不同长度的数据向量(地图分数)(不同数量的文档评级),从80到500。如何将它们读入R并在ggplot2中以相同的长度打印?考虑它们的数据量从0到1不等。它们应该按比例缩小/放大,以便适合同一图表。并为图片添加更平滑的颜色。分数从0到1不等。 例如,我得到了向量 vec1 = [1,0.8,0.6,0.8,0.6,0.6] # => + vec2 = [1,0.8,0.6,0.4] # => * 情节应该是这样的: + +* + + *+ +

我有8个不同长度的数据向量(地图分数)(不同数量的文档评级),从80到500。如何将它们读入R并在ggplot2中以相同的长度打印?考虑它们的数据量从0到1不等。它们应该按比例缩小/放大,以便适合同一图表。并为图片添加更平滑的颜色。分数从0到1不等。 例如,我得到了向量

vec1 = [1,0.8,0.6,0.8,0.6,0.6] # => +
vec2 = [1,0.8,0.6,0.4] # => *
情节应该是这样的:

+   
  +*  +
    +  *+  +
           *
但要有台词。

给你

dat <- list(
  vec1 = c(1,0.8,0.6,0.8,0.6,0.6), # => +
  vec2 = c(1,0.8,0.6,0.4) # => *)
)

addX01 <- function(x, label="A"){
  n <- length(x) - 1
  data.frame(x=seq(0, 1, by=(1/n)), y=x, label=label)
}

raggedListToDf <- function(x, labels=LETTERS[seq_along(x)]){
  do.call(rbind, lapply(seq_along(x), function(i) addX01(x[[i]], label=labels[i])))
}


plotData <- raggedListToDf(dat, labels=c("*", "+"))

ggplot(plotData, aes(x, y, label=label, group=label)) + geom_text()
dat+
vec2=c(1,0.8,0.6,0.4)#=>*)
)

addX01回答得很好。线条绘制也很有效。平滑是另一个答案吗?