我的简单问题是:如何ks.test逐列在两个数据框之间进行处理?
例如。我们有两个数据框:
D1 <- data.frame(D$Ag, D$Al, D$As, D$Ba, D$Be, D$Ca, D$Cd, D$Co, D$Cu, D$Cr)
D2 <- data.frame(S$Ag, S$Al, S$As, S$Ba, S$Be, S$Ca, S$Cd, S$Co, S$Cu, S$Cr)
Run Code Online (Sandbox Code Playgroud)
注意:这只是一个例子 - 实际情况将包括更多的列,并且它们包含特定位置中某个元素的浓度。
现在我想在两个数据帧之间运行 ks.test :
ks.test(D$Ag, S$Ag)
ks.test(D$Al, S$Al)
ks.test(D$As, S$As)
Run Code Online (Sandbox Code Playgroud)
等等。如何在不做奴隶制工作的情况下做到这一点?
当我对一个数据框进行 shapiro.test 时,我只是使用:
lshap1 <- lapply(D1, shapiro.test)
lres1 <- sapply(lshap1, `[`, c("statistic","p.value"))
Run Code Online (Sandbox Code Playgroud)
我读过一些关于循环、聚合、映射的东西 - 尝试了不同的东西,比如:
apply(D1, 2, function(D2) ks.test(D2,D1[,1])$p.value)
Run Code Online (Sandbox Code Playgroud)
但后来我得到了很多 p 值 = 0.. 当我手动执行时,情况并非如此。
编辑:09.10.2017 我将数据作为两个数据框导入,然后我将一些数据提取到“较小”的数据框进行分析 - 例如在这种情况下查看有毒元素并排除其他元素。
样本数据:dput(head(D1))和dput(head(D2))。
## Output dput(head(D1)):
structure(list(DF.As = …Run Code Online (Sandbox Code Playgroud) sbatch手册页中使用的术语可能有点令人困惑.因此,我想确保我正确设置选项.假设我有一个任务在一个有N个线程的节点上运行.我是否正确地假设我会使用--nodes = 1和--ntasks = N?我习惯于考虑使用例如pthreads在单个进程中创建N个线程.他们称之为"核心"或"每个任务的cpus"的结果是什么?CPU和线程在我的脑海里并不是一回事.
我正在 ggplot2 中制作图表,但ggsave()没有达到我的预期。
require(ggplot2)
require(showtext)
showtext_auto()
hedFont <- "Pragati Narrow"
font_add_google(
name = hedFont,
family = hedFont,
regular.wt = 400,
bold.wt = 700
)
chart <- ggplot(
data = cars,
aes(
x = speed,
y = dist
)
) +
geom_point() +
labs(
title = "Here is a title",
subtitle = "Subtitle here"
) +
theme(
plot.title = element_text(
size = 20,
family = hedFont,
face = "bold"
),
axis.title = element_text(
face = "bold"
)
)
ggsave( …Run Code Online (Sandbox Code Playgroud) 我正在处理数千个气象时间序列数据(样本数据可以从这里下载) https://dl.dropboxusercontent.com/s/bxioonfzqa4np6y/timeSeries.txt
在我的Linux Mint PC(64位,8GB RAM,双核2.6 GHz)上使用ggplot2绘制这些数据耗费了大量时间.我想知道是否有办法加快速度或更好地绘制这些数据?非常感谢您的任何建议!
这是我现在使用的代码
##############################################################################
#### load required libraries
library(RCurl)
library(dplyr)
library(reshape2)
library(ggplot2)
##############################################################################
#### Read data from URL
dataURL = "https://dl.dropboxusercontent.com/s/bxioonfzqa4np6y/timeSeries.txt"
tmp <- getURL(dataURL)
df <- tbl_df(read.table(text = tmp, header=TRUE))
df
##############################################################################
#### Plot time series using ggplot2
# Melt the data by date first
df_melt <- melt(df, id="date")
str(df_melt)
df_plot <- ggplot(data = df_melt, aes(x = date, y = value, color = variable)) +
geom_point() +
scale_colour_discrete("Station #") +
xlab("Date") +
ylab("Daily Precipitation [mm]") …Run Code Online (Sandbox Code Playgroud) 我创建像一个阴谋在这里的人用ggplot2包和facet_wrap功能,我想抑制一些x轴的文字,使之更加清晰.
例如,如果x轴刻度仅出现在方框D,F,H和J上,那么它将更清晰.
我怎么能这样做?提前致谢!
编辑:可重现的代码
library(ggplot2)
d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) +
xlim(0, 2) + stat_binhex(na.rm = TRUE) + theme(aspect.ratio = 1)
d + facet_wrap(~ color, nrow = 1)
Run Code Online (Sandbox Code Playgroud)

我有下表,但经过多次尝试无法绘制数据,以便 x 轴刻度线与year. 我找到了箱线图的解决方案,但不适用于geom_line()
我怎样才能制作一年的离散标签?
以下解决方案不起作用
g + scale_x_discrete(limits=c("2013","2014","2015"))
g + scale_x_discrete(labels=c("2013","2014","2015"))
Run Code Online (Sandbox Code Playgroud)
distance_of_moves 距离移动年 1 2.914961 2013 2 2.437516 2014 3 2.542500 2015
ggplot(data = distance_of_moves, aes(x = year, y = `distancemoved`, group = 1)) +
geom_line(color = "red", linetype = "dashed", size = 1.5) +
geom_point(color = "red", size = 4, shape = 21, fill = "white") +
ylab("平均移动距离") +
xlab("年")
R的summary功能在数据帧上运行得非常好,例如:
> summary(fred)
sum.count count sum value
Min. : 1.000 Min. : 1.0 Min. : 1 Min. : 0.00
1st Qu.: 1.000 1st Qu.: 6.0 1st Qu.: 7 1st Qu.:35.82
Median : 1.067 Median : 9.0 Median : 10 Median :42.17
Mean : 1.238 Mean : 497.1 Mean : 6120 Mean :43.44
3rd Qu.: 1.200 3rd Qu.: 35.0 3rd Qu.: 40 3rd Qu.:51.31
Max. :40.687 Max. :64425.0 Max. :2621278 Max. :75.95
Run Code Online (Sandbox Code Playgroud)
我想要做的是修改函数,以便在'Mean'之后给出标准偏差,峰度和倾斜的条目.
最好的方法是什么?我对此进行了一些研究,使用方法添加函数对我不起作用:
> summary.class <- function(x)
{ …Run Code Online (Sandbox Code Playgroud) 我想在两年内制作一个躲避的条形图,并将收入数字放在相应的栏上.在尝试了一些我在这里找到的建议之后,我仍然无法得到我想要的东西(所有数字都显示在中间条/列的中间而不是均匀分布).任何建议将不胜感激.谢谢!
我的最新尝试
# Disable scientific notation
options("scipen" = 100, "digits" = 1)
censusData <- structure(list(Year = c(2012L, 2007L, 2012L, 2007L, 2012L, 2007L,
2012L, 2007L, 2012L, 2007L, 2012L, 2007L, 2012L, 2007L, 2012L,
2007L, 2012L, 2007L, 2012L, 2007L, 2012L, 2007L, 2012L, 2007L
), County = c("A", "A", "B", "B", "C", "C", "Sum", "Sum", "A",
"A", "B", "B", "C", "C", "Sum", "Sum", "A", "A", "B", "B", "C",
"C", "Sum", "Sum"), variable = structure(c(1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, …Run Code Online (Sandbox Code Playgroud) 几年前,一张海报询问如何在下面的链接中添加回归线方程和R2在ggplot图上.
最重要的解决方案是:
lm_eqn <- function(df){
m <- lm(y ~ x, df);
eq <- substitute(italic(y) == a + b %.% italic(x)*","~~italic(r)^2~"="~r2,
list(a = format(coef(m)[1], digits = 2),
b = format(coef(m)[2], digits = 2),
r2 = format(summary(m)$r.squared, digits = 3)))
as.character(as.expression(eq));
}
p1 <- p + geom_text(x = 25, y = 300, label = lm_eqn(df), parse = TRUE)
Run Code Online (Sandbox Code Playgroud)
我正在使用此代码,它很有用.但是,我想知道是否有可能使这段代码在单独的行上具有R2值和回归线方程,而不是用逗号分隔.
而不是像这样

像这样的东西

在此先感谢您的帮助!
我想在ggplot中安排多行和多行图例。但是目前,从文档中,我只能在1个图例中确定方向或操作行/列。我忽略了什么吗?感谢您对解决方案的任何参考。这是示例代码,我做了什么以及预期的结果。
data <- seq(1000, 4000, by=1000)
colorScales <- c("#c43b3b", "#80c43b", "#3bc4c4", "#7f3bc4")
names(colorScales) <- data
ggplot() +
geom_point(aes(x=data, y=data, color=as.character(data), fill=data, size=data),
shape=21) +
scale_color_manual(name="Legend 1",
values=colorScales) +
scale_fill_gradientn(name="Legend 2",
labels=comma, limits=c(0, max(data)),
colours=rev(c("#000000", "#FFFFFF", "#BA0000")),
values=c(0, 0.5, 1)) +
scale_size_continuous(name="Legend 3") +
theme(legend.direction = "vertical", legend.box = "vertical")
Run Code Online (Sandbox Code Playgroud)
ggplot() +
geom_point(aes(x=data, y=data, color=as.character(data), fill=data, size=data),
shape=21) +
scale_color_manual(name="Legend 1",
values=colorScales) +
scale_fill_gradientn(name="Legend 2",
labels=comma, limits=c(0, max(data)),
colours=rev(c("#000000", "#FFFFFF", "#BA0000")),
values=c(0, 0.5, 1)) +
scale_size_continuous(name="Legend 3") +
theme(legend.direction = …Run Code Online (Sandbox Code Playgroud)