小编Chu*_*k P的帖子

根据下一行条件删除R中的一行

我有以下问题:

我有一个大数据框,我想删除与此条件匹配的每一行:如果列内的值(字符串)包含“:”字符,而下一行还包含“:”字符,它将删除第一个。

像这样的东西:

a <- c("value1","value2","value2:a","value2:b","value3")
b <- c(1,2,3,4,5)
df1 <- data.frame(b,a)

  b        a
1 1   value1
2 2   value2
3 3 value2:a
4 4 value2:b
5 5   value3
Run Code Online (Sandbox Code Playgroud)

对此,只有包含名称“value2:a”的行被删除,因为后跟包含正则表达式“:”的行

a        b
value1   1
value2   2
value2:b 4
value3   5
Run Code Online (Sandbox Code Playgroud)

非常感谢您,我一直在尝试使用 for 循环和 grepl 函数的一些解决方案,但似乎无法使其工作。

r

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

通过对变量进行分组来绘制均值比较的 pvalue 信息

我已经整理了一个图来分别查看组,但现在想要在图中包含平均成对比较的显着性水平。虽然我可以在情节之外进行比较,但我想知道在情节中包含比较的最有效方法是什么?

当前情节

library(tidyverse)

dsub <- diamonds[ sample(nrow(diamonds), 10000), ]

dsub <- dsub %>%
  filter(clarity %in% c('VS2', 'VS1', 'VVS2'))

ggplot(dsub, aes(x = cut, y = carat, fill = clarity)) +
  geom_boxplot(outlier.size = 0) +
  geom_point(pch = 21, position = position_jitterdodge()) 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

现在,我想补充的比较,每个等级内的的cut变量各个层次之间的的clarity变量。我更喜欢使用,ggpubr但看不到哪里可以实现。

r ggplot2 ggpubr

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

如何使用不同的自变量和因变量在 R 中添加标准化系数来运行多重线性回归?

我目前正在尝试运行一个循环,对多个自变量 (n = 6) 和多个因变量 (n=1000) 执行线性回归。

这是一些示例数据,年龄、性别和教育程度代表我感兴趣的自变量,testscore_* 是我的因变量。

df = data.frame(ID = c(1001, 1002, 1003, 1004, 1005, 1006,1007, 1008, 1009,   1010, 1011),
                    age = as.numeric(c('56', '43','59','74','61','62','69','80','40','55','58')),
                    sex = as.numeric(c('0','1','0','0','1','1','0','1','0','1','0')),
                    testscore_1 = as.numeric(c('23','28','30','15','7','18','29','27','14','22','24')),
                    testscore_2 = as.numeric(c('1','3','2','5','8','2','5','6','7','8','2')),
                    testscore_3 = as.numeric(c('18','20','19','15','20','23','19','25','10','14','12')),
                    education =  as.numeric(c('5','4','3','5','2', '1','4','4','3','5','2')))

Run Code Online (Sandbox Code Playgroud)

我有工作代码,允许我为多个 DV 运行回归模型(我确信更有经验的 R 用户会因为缺乏效率而不喜欢它):

y <- as.matrix(df[4:6])
#model for age
lm_results <- lm(y ~ age, data = df)

write.csv((broom::tidy(lm_results)), "lm_results_age.csv")

regression_results <-broom::tidy(lm_results)
standardized_coefficients <- lm.beta(lm_results)
age_standardize_results <- coef(standardized_coefficients)

write.csv(age_standardize_results, "lm_results_age_standardized_coefficients.csv")
Run Code Online (Sandbox Code Playgroud)

age然后我会通过手动替换为sexand来重复这一切 education

有没有人有更优雅的方式来运行这个 …

loops r linear-regression lapply purrr

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

标签 统计

r ×3

ggplot2 ×1

ggpubr ×1

lapply ×1

linear-regression ×1

loops ×1

purrr ×1