在R个存储单元中,数据帧根据固定的间隔大小,分别与较低和较高存储单元的值相加

在R个存储单元中,数据帧根据固定的间隔大小,分别与较低和较高存储单元的值相加,r,dplyr,R,Dplyr,我有以下dt数据帧 dt <- data.frame( No= c(14000,17000,48452,94632,36541,20000,100000,46241,78941,32464,69872,90000)) 这里有一个dplyr解决方案 library(magrittr) library(dplyr) seq.no <- seq(10000, 100000, by=5000) dt <- data.frame( No= c(14000,17000,4845

我有以下dt数据帧

dt <- data.frame(
  No= c(14000,17000,48452,94632,36541,20000,100000,46241,78941,32464,69872,90000)) 
这里有一个dplyr解决方案

library(magrittr)
library(dplyr)
seq.no <- seq(10000, 100000, by=5000)
dt <- data.frame(
  No= c(14000,17000,48452,94632,36541,20000,100000,46241,78941,32464,69872,90000)) 

dt <- dt %>% arrange(No) %>% 
  mutate(
    bin = cut(No, breaks=seq.no, include.lowest=TRUE), 
    lower = seq.no[findInterval(No, seq.no, left.open=TRUE)],
    upper = seq.no[findInterval(No, seq.no, left.open=TRUE)+1])

dt.freq <- group_by(dt, bin) %>% summarize(freq=n())
dt %<>% left_join(dt.freq)

您的输入数据集为我提供了错误查看此更新的输入数据帧。这里也缺少上限值。它必须包含在DataFrame的最后一行中所有的“否”都应该是非科学的格式编辑你的问题删除错误的行,然后放入正确的行。-@adibender。我收到以下错误。evalsubstituteexpr、envir、enclose中的错误:未使用的参数left.open=TRUE@Mahesh这很奇怪,您是否在新的R会话中运行代码?我刚刚在一个新的R会话中运行了代码,没有错误。您有什么R版本?R版本-3.2.3我知道,在最近的R版本中,findInterval函数有一个更新。如果更新到3.3.2,代码应该可以工作。
library(magrittr)
library(dplyr)
seq.no <- seq(10000, 100000, by=5000)
dt <- data.frame(
  No= c(14000,17000,48452,94632,36541,20000,100000,46241,78941,32464,69872,90000)) 

dt <- dt %>% arrange(No) %>% 
  mutate(
    bin = cut(No, breaks=seq.no, include.lowest=TRUE), 
    lower = seq.no[findInterval(No, seq.no, left.open=TRUE)],
    upper = seq.no[findInterval(No, seq.no, left.open=TRUE)+1])

dt.freq <- group_by(dt, bin) %>% summarize(freq=n())
dt %<>% left_join(dt.freq)
dt <- dt %>% arrange(No) %>% 
  mutate(
    bin = cut(No, breaks=seq.no, include.lowest=TRUE), 
    lower = seq.no[length(seq.no)- findInterval(-No, -rev(seq.no))],
    upper = seq.no[(length(seq.no)- findInterval(-No, -rev(seq.no))) + 1]
)