我希望在大量数据集上进行4天的滚动平均值.问题是有些人没有4个案例,因此我得到一个错误,表明k <= n不是TRUE.
有没有办法删除数据集中没有足够数据的任何个人?
以下是数据外观的示例:
Name variable.1
1 Kim 64.703950
2 Kim 926.339849
3 Kim 128.662977
4 Kim 290.888594
5 Kim 869.418523
6 Bob 594.973849
7 Bob 408.159544
8 Bob 609.140928
9 Joseph 496.779712
10 Joseph 444.028668
11 Joseph -213.375635
12 Joseph -76.728981
13 Joseph 265.642784
14 Hank -91.646728
15 Hank 170.209746
16 Hank 97.889889
17 Hank 12.069074
18 Hank 402.361731
19 Earl 721.941796
20 Earl 4.823148
21 Earl 696.299627
Run Code Online (Sandbox Code Playgroud) 我正在运行一些聚类分析,我试图找出两个主要的东西:
1)如何最好地解释pvclust中p值的结果(它们建立的是什么?)
2)如何将这些结果翻译成hclust
我将使用mtcars数据集作为示例...
pvclust首先使用该功能(使用欧氏距离和完整连接):
d.pv <- pvclust(t(mtcars), method = "euclidean",
method.hclust = "complete", nboot = 10)
Run Code Online (Sandbox Code Playgroud)
然后我生成我的树形图,并将红色框放置在重要的簇周围(alpha = 0.95)
plot(d.pv)
pvrect(d.pv, alpha = 0.95)
Run Code Online (Sandbox Code Playgroud)
我得到这个数字:
我还可以调出重要的观察结果:
pvpick(team.clus.pv, alpha = 0.95)
Run Code Online (Sandbox Code Playgroud)
但这些发现的意义何在?我们在树形图中看到两个聚类,这两个聚类不同的重要发现(p = 0.02)是什么?这么简单吗?
由于聚类分析是一种描述性/探索性技术,如果我使用hclust包构建这个并指定我觉得有3个感兴趣的聚类怎么办?
d <- dist(mtcars, method = "euclidean")
hc <- hclust(d, method = "complete")
plot(hc)
rect.hclust(hc, k = 3, border = "red")
Run Code Online (Sandbox Code Playgroud)
现在我的树形图看起来像这样:
因为我对3个集群感兴趣,有没有办法pvclust在这3个集群之间进行比较?或许这不是pvclust比较的东西?这里的零假设是什么?
如果我查看从中生成的树形图pvclust,似乎在右侧的红色框内,我感兴趣的另外两个簇(with hclust)也具有显着的p值.我该如何举报或解释呢?
我正在尝试显示两组数据.我正在使用该ggplot2包来绘制数据图并使用它stat_summary()来获得数据图中的点估计(平均值)和90%CI.我想要的是平均值和置信区间结构在表示数据分布的点的右侧.目前,stat_summary()只会将均值和CI强加于分布之上.
以下是我正在使用的数据示例:
set.seed(9909)
Subjects <- 1:100
values <- c(rnorm(n = 50, mean = 30, sd = 5), rnorm(n = 50, mean = 35, sd = 8))
data <- cbind(Subjects, values)
group1 <- rep("group1", 50)
group2 <- rep("group2", 50)
group <- c(group1, group2)
data <- data.frame(data, group)
data
Run Code Online (Sandbox Code Playgroud)
这就是我当前的ggplot2代码的样子(分布为平均点和90%CI叠加在每个组的顶部):
ggplot(data, aes(x = group, y = values, group = 1)) +
geom_point() +
stat_summary(fun.y = "mean", color = "red", size = 5, geom = "point") + …Run Code Online (Sandbox Code Playgroud) 我目前正在阅读 Andy Field 的书《使用 R 发现统计》。第 14 章是关于混合建模的,他使用了包lme中的函数nlme。
他使用快速约会数据创建的模型是这样的:
speedDateModel <- lme(dateRating ~ looks + personality +
gender + looks:gender + personality:gender +
looks:personality,
random = ~1|participant/looks/personality)
Run Code Online (Sandbox Code Playgroud)
我尝试使用包lmer中的函数重新创建一个类似的模型lme4;然而,我的结果不同。我以为我有正确的语法,但也许不是?
speedDateModel.2 <- lmer(dateRating ~ looks + personality + gender +
looks:gender + personality:gender +
(1|participant) + (1|looks) + (1|personality),
data = speedData, REML = FALSE)
Run Code Online (Sandbox Code Playgroud)
另外,当我运行这些模型的系数时,我注意到它只为每个参与者产生随机截距。然后我试图创建一个可以产生随机截距和斜率的模型。我似乎无法为这两个函数提供正确的语法来执行此操作。任何帮助将不胜感激。
我环顾四周,似乎找不到解决这个问题的好方法。
我有一个包含行名称的列。我想按字母顺序对每一行进行排序,以便稍后可以识别具有相同名称但顺序不同的行。
数据如下:
names <- c("John D., Josh C., Karl H.",
"John D., Bob S., Tim H.",
"Amy A., Art U., Wes T.",
"Josh C., John D., Karl H.")
var1 <- rnorm(n = length(names), mean = 0, sd = 2)
var2 <- rnorm(n = length(names), mean = 20, sd = 5)
df <- data.frame(names, var1, var2)
df
names var1 var2
1 John D., Josh C., Karl H. -0.3570142 15.58512
2 John D., Bob S., Tim H. -3.0022367 12.32608
3 Amy …Run Code Online (Sandbox Code Playgroud) 我正在寻找执行行减法,其中我有一组个人,我想从它上面的行中减去最近的行(如滚动行减法)。有谁知道一个简单的方法来做到这一点?
数据看起来像这样:
Name Day variable.1
1 Bob 1 43.4
2 Bob 2 32.0
3 Bob 3 18.1
4 Bob 4 41.2
5 Bob 5 85.2
6 Jeff 1 17.4
7 Jeff 2 55.6
8 Jeff 3 58.7
9 Jeff 4 40.6
10 Jeff 5 77.3
11 Carl 1 52.9
12 Carl 2 71.7
13 Carl 3 84.3
14 Carl 4 54.8
15 Carl 5 69.7
Run Code Online (Sandbox Code Playgroud)
例如,对于 Bob,我希望它显示为:
Name Day variable.1
1 Bob 1 NA
2 Bob 2 -11.4
3 Bob …Run Code Online (Sandbox Code Playgroud)