我有以下问题:
我有一个大数据框,我想删除与此条件匹配的每一行:如果列内的值(字符串)包含“:”字符,而下一行还包含“:”字符,它将删除第一个。
像这样的东西:
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 函数的一些解决方案,但似乎无法使其工作。
我已经整理了一个图来分别查看组,但现在想要在图中包含平均成对比较的显着性水平。虽然我可以在情节之外进行比较,但我想知道在情节中包含比较的最有效方法是什么?
当前情节
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但看不到哪里可以实现。
我目前正在尝试运行一个循环,对多个自变量 (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
有没有人有更优雅的方式来运行这个 …