Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 按现有对象子集数据帧_R_Subset - Fatal编程技术网

R 按现有对象子集数据帧

R 按现有对象子集数据帧,r,subset,R,Subset,我有一个预定义的对象等级您可以使用过滤器,但您可能希望更改对象名称,使其与变量名称不匹配 Grade <- "G3" data <- data.frame("id"=id,"grade"=grade, "score"=score) %>% filter(paste0("G", grade) == Grade) 有了tidyverse,我们可以使用!!要检查全局环境中的“grade”对象而不是“data”环境中的列,请删除“G”并执行以下操作:== 您可以使用readr的

我有一个预定义的对象等级您可以使用过滤器,但您可能希望更改对象名称,使其与变量名称不匹配

Grade <- "G3"

data <- data.frame("id"=id,"grade"=grade, "score"=score) %>%
  filter(paste0("G", grade) == Grade)
有了tidyverse,我们可以使用!!要检查全局环境中的“grade”对象而不是“data”环境中的列,请删除“G”并执行以下操作:==

您可以使用readr的parse_number以最小的复杂度从字符串中提取数字,然后使用结果子集:

图书馆阅读器 数据[数据$grade==parse_numbergrade,] 或使用基本R的子项将非数字替换为:

数据[数据$grade==sub[^0-9],等级,] 或者,如果字符串中唯一的其他字符始终为G,则:

数据[数据$grade==子组,等级,]
我试图从坡度对象G3中获取3,然后根据该坡度对象信息对数据进行子集。我认为您正在尝试将G粘贴到数据$grade。
  > data
      id grade score
    1  1     3    10
    2  2     3     5
Grade <- "G3"

data <- data.frame("id"=id,"grade"=grade, "score"=score) %>%
  filter(paste0("G", grade) == Grade)
library(dplyr)
library(stringr)
data %>%
    filter(grade == str_remove(!!grade, "G"))
#  id grade score
#1  1     3    10
#2  2     3     5