在R个存储单元中,数据帧根据固定的间隔大小,分别与较低和较高存储单元的值相加
我有以下dt数据帧在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 <- 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]
)