R 使用%>;%重写代码操作人员
我尝试使用%>%运算符重写此代码(以学习此方法):R 使用%>;%重写代码操作人员,r,dplyr,R,Dplyr,我尝试使用%>%运算符重写此代码(以学习此方法): library(arules) data(AdultUCI) #https://archive.ics.uci.edu/ml/datasets/Census+Income AdultUCI[["capital-gain"]] <- ordered(cut(AdultUCI[["capital-gain"]], + c(-Inf, 0, median(AdultUCI[["capital-gain"]][AdultUCI + [["ca
library(arules)
data(AdultUCI) #https://archive.ics.uci.edu/ml/datasets/Census+Income
AdultUCI[["capital-gain"]] <- ordered(cut(AdultUCI[["capital-gain"]],
+ c(-Inf, 0, median(AdultUCI[["capital-gain"]][AdultUCI
+ [["capital-gain"]] > 0]), Inf)),
+ labels = c("None", "Low", "High"))
库(阿鲁莱斯)
数据(成人)#https://archive.ics.uci.edu/ml/datasets/Census+收入
AdultUCI[[“资本收益”]]0]),Inf],
+标签=c(“无”、“低”、“高”)
有可能吗?以下是我的尝试:
AdultUCI[["capital-gain"]] <- ordered %>% cut %>% AdultUCI[["capital-gain"]],
+ c(-Inf, 0, median(AdultUCI[["capital-gain"]][AdultUCI[["capital-gain"]] > 0]),
+ Inf),labels = c("None", "Low", "High")
AdultUCI[[“资本收益”]%cut%>%AdultUCI[[“资本收益”]],
+c(-Inf,0,中位数(成年指数[[“资本收益”]][成年指数[[“资本收益”]]>0]),
+Inf),标签=c(“无”、“低”、“高”)
这应该可以:
library(dplyr)
#reproducible data
AdultUCI <- read.csv("https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data",header=FALSE)
colnames(AdultUCI)[13] <- "capital-gain"
#original code
originalOrdered <-
ordered(cut(AdultUCI[["capital-gain"]],
c(-Inf, 0,
median(AdultUCI[["capital-gain"]][AdultUCI[["capital-gain"]] > 0]), Inf),
labels = c("None", "Low", "High")),
levels = c("None", "Low", "High"))
#using dplyr
newOrdered <-
AdultUCI %>%
select(x=`capital-gain`) %>%
mutate(capitalGainOrdered=
ordered(
cut(x,c(-Inf, 0, median(x[x > 0]), Inf),
labels = c("None", "Low", "High")),
levels = c("None", "Low", "High"))) %>%
.$capitalGainOrdered
#test if same
identical(originalOrdered,newOrdered)
#[1] TRUE
str(newOrdered)
#Ord.factor w/ 3 levels "None"<"Low"<"High": 2 2 2 2 2 2 2 3 3 2 ...
库(dplyr)
#可再现数据
成人(0),Inf),,
标签=c(“无”、“低”、“高”),
级别=c(“无”、“低”、“高”))%>%
.$CAPITALGAINORDED
#测试是否相同
相同(原始排序、新排序)
#[1] 真的
str(新订购)
#Ord.factor w/3级别“无”请将代码设置为“无”。一般来说,您几乎可以使用管道运算符替换嵌套函数。你试过什么?没用?有什么问题?@Molx我对展开这项长时间的操作有问题。顺序正确吗?总共%>%?