小编use*_*829的帖子

基于R中大数据集中没有足够重复数据的行去除行

我希望在大量数据集上进行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)

r dataset dataframe

5
推荐指数
1
解决办法
536
查看次数

pvclust中的p值并导致hclust

我正在运行一些聚类分析,我试图找出两个主要的东西:

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值.我该如何举报或解释呢?

r cluster-analysis

5
推荐指数
1
解决办法
3123
查看次数

在stat_summary中使用position_dodge获取均值和置信区间?

我正在尝试显示两组数据.我正在使用该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)

r ggplot2

4
推荐指数
1
解决办法
1675
查看次数

混合建模 - lme 和 lmer 函数之间的不同结果

我目前正在阅读 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)

另外,当我运行这些模型的系数时,我注意到它只为每个参与者产生随机截距。然后我试图创建一个可以产生随机截距和斜率的模型。我似乎无法为这两个函数提供正确的语法来执行此操作。任何帮助将不胜感激。

r lme4 mixed-models nlme

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

R中按字母顺序对每一行字符串进行排序

我环顾四周,似乎找不到解决这个问题的好方法。

我有一个包含行名称的列。我想按字母顺序对每一行进行排序,以便稍后可以识别具有相同名称但顺序不同的行。

数据如下:

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)

sorting r character

2
推荐指数
1
解决办法
1464
查看次数

滚动行减法

我正在寻找执行行减法,其中我有一组个人,我想从它上面的行中减去最近的行(如滚动行减法)。有谁知道一个简单的方法来做到这一点?

数据看起来像这样:

    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)

row r subtraction

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