R:如何将变量拆分为命名区间?
我正在R中处理一个相当大的数据集,其中包含一个连续的数值变量。在另一个数据集中,我命名了间隔,用最小值和最大值描述,我想将其应用于我的大数据集中的连续变量 下面是一些示例代码:R:如何将变量拆分为命名区间?,r,R,我正在R中处理一个相当大的数据集,其中包含一个连续的数值变量。在另一个数据集中,我命名了间隔,用最小值和最大值描述,我想将其应用于我的大数据集中的连续变量 下面是一些示例代码: df<-data.frame(x=c(1:6)) groups<-data.frame(cat=c("a","b","c","d"), min=c(1,2,4,6), max=c(2,4,5,8)) 有什么简单的方法可以做到这一点吗?dfdf设置数据: df<-data.frame(x=c(1
df<-data.frame(x=c(1:6))
groups<-data.frame(cat=c("a","b","c","d"), min=c(1,2,4,6), max=c(2,4,5,8))
有什么简单的方法可以做到这一点吗?dfdf设置数据:
df<-data.frame(x=c(1:6))
groups<-data.frame(cat=c("a","b","c","d"), min=c(1,2,4,6), max=c(2,4,5,8))
for(i in 1:nrow(groups)){
numbers_in_range = df$x[df$x >= groups[i,]$min & df$x <= groups[i,]$max]
df[,i+1] = df$x %in% numbers_in_range
colnames(df)[2:ncol(df)] = as.character(groups$cat)
}
df <- data.frame(x=c(1:6))
groups <- data.frame(cat=c("a","b","c","d"), min=c(1,2,4,6), max=c(2,4,5,8))
设置数据:
df <- data.frame(x=c(1:6))
groups <- data.frame(cat=c("a","b","c","d"), min=c(1,2,4,6), max=c(2,4,5,8))
你想要比在组上循环更简单的东西吗?5
不应该在这里不对应任何东西,因为d
转到6和7,而c
转到4?你想要比在组上循环更简单的东西吗?5
不应该在这里不对应任何东西,因为d
转到6和7,而c
转到4?
brks <- c(groups$min,tail(groups$max,1))
df$cat <- cut(df$x,breaks=brks,labels=groups$cat,right=FALSE)