Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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 使用%>;%重写代码操作人员_R_Dplyr - Fatal编程技术网

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我对展开这项长时间的操作有问题。顺序正确吗?总共%>%?