我仍然试图利用循环在R中绘图.我想根据列x_1中的不同名称绘制(任何可以将数据可视化的绘图)列z_1对应于下面数据框中的z_2.
x_1 <- c("A1", "A1","A1", "B10", "B10", "B10","B10", "C100", "C100", "C100")
z_1 <- rnorm(10, 70)
z_2 <- rnorm(10, 1.7)
A <- data.frame(x_1, z_1, z_2)
Run Code Online (Sandbox Code Playgroud)
因此,我想最终得到三个不同的情节; 一个用于A1类,一个用于B10,另一个用于C100.我可以使用三个不同的代码执行此操作,但我希望能够使用循环或任何其他单个代码在同一页面上执行所有三个绘图.实际上,我有一个大型数据集(4,000行),并希望在页面上绘制几个ID(比如页面上的5个).
我希望这是有道理的.谢谢你的帮助.
这是我尝试单独绘制它们:
对于A1:
data_A1 <- A[which(A$x_1 == "A1"), ]
plot(data_A1$z_2, data_A1$z_1)
Run Code Online (Sandbox Code Playgroud)
我也试过这样的东西,但收到错误信息
for ( i in A$x_1[[i]]){
plot(A[which(A$x_1==A$x_1[[i]]), ], aspect = 1)
}
Run Code Online (Sandbox Code Playgroud) 基础R中是否有任何包含缺失值的数据集示例?我一直在查看每一个,并且到目前为止还使用google搜索.
library(MASS)
data()
Run Code Online (Sandbox Code Playgroud)
编辑:我知道如何在R中的数据集中添加缺失值,我只想知道是否存在任何此类数据集.
我将非常感谢以下任务的一些帮助:从下面的数据框(C)中,对于每个id,我想d_2从最终条目中减去列下的第一个条目,然后将结果存储在包含相同ID的另一个数据框中.然后我可以将它与我的初始数据帧合并.请注意,减法必须按此顺序排列(最后一个条目减去每个条目的第一个条目id).
以下是代码:
id <- c("A1", "A1", "B10","B10", "B500", "B500", "C100", "C100", "C100", "D40", "D40", "G100", "G100")
d_1 <- c( rep(1.15, 2), rep(1.44, 2), rep(1.34, 2), rep(1.50, 3), rep(1.90, 2), rep(1.59, 2))
set.seed(2)
d_2 <- round(runif(13, -1, 1), 2)
C <- data.frame(id, d_1, d_2)
id d_1 d_2
A1 1.15 -0.63
A1 1.15 0.40
B10 1.44 0.15
B10 1.44 -0.66
B500 1.34 0.89
B500 1.34 0.89
C100 1.50 -0.74
C100 1.50 0.67
C100 1.50 -0.06
D40 …Run Code Online (Sandbox Code Playgroud) 我已经对这个主题进行了快速搜索,但是没有找到以前帖子中的任何内容来解决我的问题.看起来非常直接,但我还是没有想出如何有效地做到这一点.
在下面的数据帧,我想用一个单一的入口(在这种情况下,删除所有的行B500和D40).
x_1 <- c("A1", "A1","A1", "B10", "B10", "B10","B10",
"B500", "C100", "C100", "C100", "D40", "G100", "G100")
z_1 <- rnorm(14, 70)
z_2 <- rnorm(14, 1.7)
A <- data.frame(x_1, z_1, z_2)
x_1 z_1 z_2
1 A1 69.65033 1.5308858
2 A1 68.72687 2.2859416
3 A1 68.32700 0.7994794
4 B10 68.68382 0.5212132
5 B10 70.23359 1.3266729
6 B10 70.68604 4.3823605
7 B10 70.52774 2.2430322
8 B500 69.62868 3.0121398
9 C100 69.41412 2.1895905
10 C100 69.10745 1.7599065
11 C100 69.70876 1.6001099 …Run Code Online (Sandbox Code Playgroud) 我在R中编写了以下代码,工作正常.但是,假设我必须将类似的代码应用于具有多个级别(> 6)的因子变量,则ifelse语句可能非常难以阅读.我想知道是否还有其他更有效的方法来编写易于阅读的代码,但仍然使用dplyr.
library(dplyr)
mtcars %>% arrange(gear) %>%
mutate(gearW = ifelse(gear == 3, "Three", ifelse(gear == 4, "Four", "Five")))
Run Code Online (Sandbox Code Playgroud) 这个问题看起来很简单,但我无法弄清楚如何去做.我试图通过纵向数据集拟合平滑线,如下面的代码所示
library(nlme)
xyplot(conc ~ Time, data = Theoph, groups = Subject, type = c("l", "smooth"))
Run Code Online (Sandbox Code Playgroud)
输出不是我所追求的,并且有多个警告.我想顺利完成整个数据.作为奖励,如果有人也可以使用ggplot显示如何做到这一点,那将是很棒的.
我正在尝试在R中使用wilcox检验来确定两个未配对的数据集之间是否存在显着差异,如下所示。我知道下面的数据是正态分布的,但是我的原始数据不是正态分布的。
set.seed(1)
x1 <- rnorm(10, 4, 1)
x2 <- rnorm(10, 7, 1)
wilcox.test(x1, x2)
Wilcoxon rank sum test
data: x1 and x2
W = 1, p-value = 2.165e-05
alternative hypothesis: true location shift is not equal to 0
Run Code Online (Sandbox Code Playgroud)
我也尝试了下面的代码,但给出了错误报告
wilcox.test(x1 ~ x2)
Error in wilcox.test.formula(x1 ~ x2) :
grouping factor must have exactly 2 levels
Run Code Online (Sandbox Code Playgroud)
我的问题是-这是处理此数据的正确方法吗?-我认为它正在进行秩和检验-这就是我应该得到的。p值表明两个数据集之间存在显着差异。