R 有没有办法从较大的数据帧中删除此新数据帧?

R 有没有办法从较大的数据帧中删除此新数据帧?,r,R,请告诉我如何解决这个问题,我需要一些帮助。我有一个dataframe(myData),有超过57000行和129列,我的响应变量是一个3级因子。我的意图是将响应变量中的一个即时类的大小减少80%,但当我使用此代码时,它反而从myData dataframe中创建了一个子集,“reduced”,这与我删除行的意图相反。如何从主数据帧中减去该子集,或者是否有其他方法可以做到这一点 reduced <- myData %>% filter(marker == "Natural") %&g

请告诉我如何解决这个问题,我需要一些帮助。我有一个dataframe(myData),有超过57000行和129列,我的响应变量是一个3级因子。我的意图是将响应变量中的一个即时类的大小减少80%,但当我使用此代码时,它反而从myData dataframe中创建了一个子集,“reduced”,这与我删除行的意图相反。如何从主数据帧中减去该子集,或者是否有其他方法可以做到这一点

 reduced <- myData %>% filter(marker == "Natural") %>% dplyr::slice_sample(prop = 0.8)
reduced%过滤器(marker==“Natural”)%%>%dplyr::切片样本(prop=0.8)

您可以将
减少的
数据与
未减少的
数据相结合,即
标记
,而不使用
“自然”

库(dplyr)
减少%
过滤器(标记==“自然”)%>%
dplyr::切片样本(prop=0.8)
未减少的%过滤器(标记!=“自然”)

合并数据您可以将
减少的
数据与
未减少的
数据合并,即
标记
而不使用
“自然”

库(dplyr)
减少%
过滤器(标记==“自然”)%>%
dplyr::切片样本(prop=0.8)
未减少的%过滤器(标记!=“自然”)

合并数据我没有安装dplyr 1.0.0,因此我没有
slice\u sample
,但我假设您可以使用
slice\u sample

df <- data.frame(marker = rep(c('Natural', 'Other'), c(10, 10)),
                 x = runif(20))

df %>% 
  group_by(marker) %>% 
  sample_frac(if(first(marker) == 'Natural') .8 else 1)

# # A tibble: 18 x 2
# # Groups:   marker [2]
#    marker      x
#    <fct>   <dbl>
#  1 Natural 0.359
#  2 Natural 0.529
#  3 Natural 0.466
#  4 Natural 0.424
#  5 Natural 0.623
#  6 Natural 0.431
#  7 Natural 0.126
#  8 Natural 0.828
#  9 Other   0.545
# 10 Other   0.522
# 11 Other   0.826
# 12 Other   0.788
# 13 Other   0.580
# 14 Other   0.244
# 15 Other   0.633
# 16 Other   0.432
# 17 Other   0.920
# 18 Other   0.124
df%
分组依据(标记)%>%
样本分数(如果(第一个(标记)=‘自然’)。8其他1)
##A tibble:18x2
##组:标记[2]
#标记x
#       
#1天然气0.359
#2天然气0.529
#3天然气0.466
#4天然气0.424
#5天然气0.623
#6天然气0.431
#7自然值0.126
#8自然值0.828
#9其他0.545
#10其他0.522
#11其他0.826
#12其他0.788
#13其他0.580
#14其他0.244
#15其他0.633
#16其他0.432
#17其他0.920
#18其他0.124

我没有安装dplyr 1.0.0,因此我没有
切片样本
,但我假设您可以使用
切片样本

df <- data.frame(marker = rep(c('Natural', 'Other'), c(10, 10)),
                 x = runif(20))

df %>% 
  group_by(marker) %>% 
  sample_frac(if(first(marker) == 'Natural') .8 else 1)

# # A tibble: 18 x 2
# # Groups:   marker [2]
#    marker      x
#    <fct>   <dbl>
#  1 Natural 0.359
#  2 Natural 0.529
#  3 Natural 0.466
#  4 Natural 0.424
#  5 Natural 0.623
#  6 Natural 0.431
#  7 Natural 0.126
#  8 Natural 0.828
#  9 Other   0.545
# 10 Other   0.522
# 11 Other   0.826
# 12 Other   0.788
# 13 Other   0.580
# 14 Other   0.244
# 15 Other   0.633
# 16 Other   0.432
# 17 Other   0.920
# 18 Other   0.124
df%
分组依据(标记)%>%
样本分数(如果(第一个(标记)=‘自然’)。8其他1)
##A tibble:18x2
##组:标记[2]
#标记x
#       
#1天然气0.359
#2天然气0.529
#3天然气0.466
#4天然气0.424
#5天然气0.623
#6天然气0.431
#7自然值0.126
#8自然值0.828
#9其他0.545
#10其他0.522
#11其他0.826
#12其他0.788
#13其他0.580
#14其他0.244
#15其他0.633
#16其他0.432
#17其他0.920
#18其他0.124