我对如何在R中将事物合并在一起的常见问题有所不同.
我在特定文件夹中有一组.txt文件,我编写了一个函数:
我最终得到的是一个具有以下结构的列表:
>str(DataList)
List of 16
$ :'data.frame': 14 obs. of 2 variables:
..$ Sample: Factor w/ 14 levels "Sample_1A","Sample_1B",..: 1 2 3 4 5 6 7 8 9 10 ...
..$ Var1 : num [1:14] 27.9 33.8 29.9 29.4 28.8 ...
$ :'data.frame': 14 obs. of 2 variables:
..$ Sample: Factor w/ 14 levels "Sample_1A","Sample_1B",..: 1 2 3 4 5 6 7 8 9 10 ...
..$ Var2 : num [1:14] 24.6 27 …Run Code Online (Sandbox Code Playgroud) 我还是R的新手,并且遇到了我无法找到答案的密谋问题.
我有一个看起来像这样的数据框(虽然更大):
df <- data.frame(Treatment= rep(c("A", "B", "C"), each = 6),
LocA=sample(1:100, 18),
LocB=sample(1:100, 18),
LocC=sample(1:100, 18))
Run Code Online (Sandbox Code Playgroud)
我想,看起来像散点图这样一个在Excel中产生.这正是我想要的格式:每个位置并排处理每个位置的点图,多个位置的数据一起放在一个图表上.(对于无法在此处发布图像表示歉意;发布图片需要10个声誉.)

为每个位置制作绘图没有问题,用点颜色编码,等等:
ggplot(data = df, aes(x=Treatment, y=LocA, color = Treatment)) + geom_point()
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何将位置B和C添加到同一图表中.
任何建议将不胜感激!
我正在使用ggplot2来制作一些日志变换数据的线图,这些数据都具有较大的值(在10 ^ 6和10 ^ 8之间); 由于轴不是从零开始,我宁愿不让它们在"原点"相交.
这是轴当前的样子:

我更喜欢一些更像是从基础图形获得的东西(但我geom_ribbon还在ggplot2中使用和其他我喜欢的其他奇特的东西,所以我更喜欢找到ggplot2解决方案):

这是我目前正在做的事情:
mydata <- data.frame(Day = rep(1:8, 3),
Treatment = rep(c("A", "B", "C"), each=8),
Value = c(7.415929, 7.200486, 7.040555, 7.096490, 7.056413, 7.143981, 7.429724, 7.332760, 7.643673, 7.303994, 7.343151, 6.923636, 6.923478, 7.249170, 7.513370, 7.438630, 7.209895, 7.000063, 7.160154, 6.677734, 7.026307, 6.830495, 6.863329, 7.319219))
ggplot(mydata, aes(x=Day, y=Value, group=Treatment))
+ theme_classic()
+ geom_line(aes(color = Treatment), size=1)
+ scale_y_continuous(labels = math_format(10^.x))
+ coord_cartesian(ylim = c(6.4, 7.75), xlim=c(0.5, 8))
plot(mydata$Day, mydata$Value, frame.plot = F) #non-intersecting axes
Run Code Online (Sandbox Code Playgroud) 我在R中做了很多计算,现在需要将我的data.frame转换为MS Word中的平均值+/- SD表(这是所需的格式).但是,我不知道如何获得"+/-"符号; 看起来应该有一种方法可以做到这一点,不涉及手动将符号插入Word中表的每个单元格.
以下是使用mtcars数据的示例:
require(reshape2)
test_avg <- dcast(mtcars, cyl+gear ~ ., value.var = "mpg", fun.aggregate = mean)
test_sd <- dcast(mtcars, cyl+gear ~ ., value.var = "mpg", fun.aggregate = sd)
testtable <- cbind(test_avg[ , 1:2], paste(as.matrix(round(test_avg[3], 1)), as.matrix(round(test_sd[3], 1)), sep="+/-"))
write.csv(testable, file="Table.csv")
Run Code Online (Sandbox Code Playgroud)
然后可以在Excel中打开"Table.csv",然后复制,粘贴到Word中并获得一个漂亮的表格.这很好,但是如果我能在"sep ="参数中添加一些能在Word中给出"+/-"符号的东西会更好.有任何想法吗?
谢谢!