小编pho*_*ted的帖子

R - 将数据帧列表合并为一个数据帧,并按行丢失值

我对如何在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)

merge r dataframe do.call

13
推荐指数
1
解决办法
1万
查看次数

如何在R中的点图中并排绘制多个变量?

我还是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添加到同一图表中.

任何建议将不胜感激!

plot r ggplot2

11
推荐指数
1
解决办法
1万
查看次数

如何防止轴在ggplot2中相交

我正在使用ggplot2来制作一些日志变换数据的线图,这些数据都具有较大的值(在10 ^ 6和10 ^ 8之间); 由于轴不是从零开始,我宁愿不让它们在"原点"相交.

这是轴当前的样子:

ggplot2情节

我更喜欢一些更像是从基础图形获得的东西(但我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 axes ggplot2

6
推荐指数
1
解决办法
841
查看次数

将数学符号从R数据帧导出到MS Word表

我在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中给出"+/-"符号的东西会更好.有任何想法吗?

谢谢!

r export-to-csv

3
推荐指数
1
解决办法
152
查看次数

标签 统计

r ×4

ggplot2 ×2

axes ×1

dataframe ×1

do.call ×1

export-to-csv ×1

merge ×1

plot ×1