【发布时间】:2017-04-11 15:37:50
【问题描述】:
数据代码
fem <- read.csv( text=
"female Bij,B11,B22,B33,B44,B21,B31,B32,B123
Sinus,1.0,0.0,0.0,0.0,0.0,0.0,12.0,0.0")
我想用下标代替expression(B[11]) 所以我的伪代码是
text=
paste0("female ", expression(B[ij]), expression(B[11]), ..., expression(B[123]))
Sinus,1.0,0.0,...")
也许,这可以通过更好或以后直接使用ggplot2 的函数来完成。
我最终将数据绘制为数据B11,...,B123 在female.Bij 中的位置
library("ggplot2")
g <- ggplot(datm, aes(variable, value, fill=gender)) + geom_bar(stat="identity", position = position_dodge()) + facet_grid(female.Bij ~ group) + xlab("Type")
#http://stackoverflow.com/a/17335258/54964
g + labs( y="Counts")
测试 rawr 的答案
操作前和操作后,我的数据集
[1] "hello ==="
male.Bij gender group variable
Arr/AHB :32 Length:128 Length:128 B11 :16
Digoxin arr :32 Class :character Class :character B22 :16
Furosemide arr:32 Mode :character Mode :character B33 :16
Sinus :32 B44 :16
B21 :16
B31 :16
(Other):32
value male.Nij
Min. : 0.000 Sinus :32
1st Qu.: 0.000 Arr/AHB :32
Median : 0.000 Digoxin arr :32
Mean : 1.407 Furosemide arr:32
3rd Qu.: 0.850
Max. :24.000
[1] "hello 2 ===="
male.Bij gender group variable
Arr/AHB :32 Length:128 Length:128 Length:128
Digoxin arr :32 Class :character Class :character Class :character
Furosemide arr:32 Mode :character Mode :character Mode :character
Sinus :32
图。 1 个输出
做g + scale_x_discrete(labels = parse(text = datm$variable))给了我
用字母测试 rawr 的答案
代码相关行
"female Bi,Bp,Br,Bt,B0,Bpr,Bpt,Brt,Bprt
输出
R:3.3.2
操作系统:Debian 8.5
【问题讨论】:
-
下标在什么地方?
paste0("female ", expression(B[ij]), ...)只是一个字符串。你可以插入括号:gsub('(?<=B)([^,]+)', '[\\1]', "female Bij,B11,B22,B33,B44,B21,B31,B32,B123", perl = TRUE)但我不确定你真正想要什么 -
对不起,你在更新中不需要那个正则表达式,请看我的更新
标签: r csv ggplot2 axis-labels subscript