Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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 错误所有select()输入必须解析为整数列位置。以下情况不适用:_R_Dplyr - Fatal编程技术网

R 错误所有select()输入必须解析为整数列位置。以下情况不适用:

R 错误所有select()输入必须解析为整数列位置。以下情况不适用:,r,dplyr,R,Dplyr,我正在尝试如下使用dplyr计算,然后在一个函数中调用它,在这个函数中我可以更改列名和数据集名。代码如下: sample_table <- function(byvar = TRUE, dataset = TRUE) { tcount <- df2 %>% group_by(.dots = byvar) %>% tally() %>% arrange(byvar) %>% rename(tcount = n) %>% left_joi

我正在尝试如下使用dplyr计算,然后在一个函数中调用它,在这个函数中我可以更改列名和数据集名。代码如下:

sample_table <- function(byvar = TRUE, dataset = TRUE) {
  tcount <-
    df2 %>% group_by(.dots = byvar) %>% tally() %>% arrange(byvar) %>% rename(tcount = n) %>%
    left_join(
      select(
        dataset %>% group_by(.dots = byvar) %>% tally() %>% arrange(byvar) %>% rename(scount = n), byvar, scount
      ), by = c("byvar")
    ) %>%
    mutate_each(funs(replace(., is.na(.), 0)),-byvar %>% mutate(
      tperc = round(tcount / rcount, digits = 2), sperc = round(scount / samplesize, digits = 2),
      absdiff = abs(sperc - tperc)
    ) %>%
    select(byvar, tcount, tperc, scount, sperc, absdiff)
  return(tcount)
}

category_Sample1 <- sample_table(byvar = "category", dataset = Sample1)
我知道这是一个重复的问题,我已经浏览了以下链接:


我不确定我会错在哪里。rcount是df2中的行数,samplesize是“数据集”数据帧中的行数。我必须为另一个具有三个不同“数据集”名称的变量计算相同的内容。

您将列引用作为字符串(
byvar
)(标准计算)和正常引用(
tcount
tperc
等)(非标准计算)一起使用。 确保同时使用以下两种功能之一和相应的功能:
select()
select()
。您可以通过使用

select(one_of(c(byvar,'tcount')))

我遇到了同样的问题,无法解决它。几周前,它使用了
mutate\u each(funs(as.numeric)、matches(“name”))
,但现在它抛出了一个错误。有什么想法吗?你有没有试过在上进行变异?否则我建议提出一个新问题。
select(one_of(c(byvar,'tcount')))