DF <- read.table(text="Rank F1 F2 F3
1 500 250 50
2 400 100 30
3 300 155 100
4 200 90 10", header=TRUE)
library(reshape2)
DF1 <- melt(DF, id.var="Rank")
library(ggplot2)
ggplot(DF1, aes(x = Rank, y = value, fill = variable)) +
geom_bar(stat = "identity")
Run Code Online (Sandbox Code Playgroud)
是否可以使用ggplot2创建堆叠条,如下图?我不想用不同的颜色区分堆栈.

编辑:根据Pascal的评论,
ggplot(DF1, aes(x = Rank, y = value)) +
geom_bar(stat = "identity",lwd=2, color="white")
Run Code Online (Sandbox Code Playgroud)

我仍然有酒吧的白色边框.
如何根据第二列中的max选择重复行(仅基于第一列):
data<-data.frame(a=c(1,3,3,3),b=c(1,4,6,3),d=c(1,5,7,1))
a b d
1 1 1
3 4 5
3 6 7
3 3 1
a b d
1 1 1
3 6 7
Run Code Online (Sandbox Code Playgroud)
在第二列中,6最大值在4,6,3之间
我正在拆分用逗号分隔的字符串,但是,我想忽略引号之间的逗号.这是一个例子:
library(data.table)
dataset <- data.frame(str=c("USATW,\"USA Technologies, Inc Warrants\",Q" ,
"DUSA,DUSA Pharmaceuticals Inc,Q"))
#1 USATW,"USA Technologies, Inc Warrants",Q
#2 DUSA,DUSA Pharmaceuticals Inc,Q
setDT(dataset)[, c("Symbol","Security Name","Market Category") :=
tstrsplit(str, ",", fixed=TRUE)]
# Symbol Security Name Market Category
#1 USATW "USA Technologies Inc Warrants"
#2 DUSA DUSA Pharmaceuticals Inc Q
Run Code Online (Sandbox Code Playgroud)
第一个字符串应该是:
#1 USATW "USA Technologies, Inc Warrants" Q
Run Code Online (Sandbox Code Playgroud)
有类似的帖子,但在其他编程语言.