-
Notifications
You must be signed in to change notification settings - Fork 0
/
tmp2601.R
128 lines (120 loc) · 3.56 KB
/
tmp2601.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
rm(list=ls(all.names = T))
set.seed(1234)
if (!require("pacman")) install.packages("pacman"); library(pacman)
p_load("kbv",
"tidyverse",
"magrittr",
"rlist",
"pipeR",
"dplyr",
"repurrrsive",
"stringr",
"stringdist")
p_loaded()
url <- "https://renkun-ken.github.io/rlist-tutorial/data/people.json"
people <- list.load(url)
p=people
#### no of people in the list
p %>>% list.count()
#### no of people with condition
p %>>% list.filter("music" %in% Interests) %>>% list.count
p %>>% list.filter("music" %in% .$Interests) %>>% list.count
p %>>% list.filter(!("music" %in% Interests)) %>>% list.count
p %>>%
list.select(Name,Age,Expertise) %>>%
list.filter(.$Expertise$R>3) %>>%
list.count()
p %>>%
list.select(Name,Age,Expertise) %>>%
list.filter(.$Expertise$R>3 & .$Age>30) %>>%
list.count()
p %>>% list.table(.$Interests)
p %>>% list.table(.$Expertise)
p %>>%
list.select(Name,Age,Expertise,te=sum(as.numeric(.$Expertise))) %>>%
list.filter(sum(as.numeric(.$Expertise))>13) %>>% list.count
p %>>%
list.select(Name,Age,Expertise,te=sum(as.numeric(.$Expertise))) %>>%
list.filter(sum(as.numeric(.$Expertise))>12)%>>%
### for ascending order
#list.sort(sum(as.numeric(.$Expertise)))
## for descending order
list.sort((sum(as.numeric(.$Expertise))))
p %>>%
list.sort((sum(as.numeric(.$Expertise)))) %>>%
list.select(Name,Age,sum(as.numeric(.$Expertise))) %>>%
list.mapv(list.select(Name))
p %>>%
list.sort((sum(as.numeric(.$Expertise)))) %>>%
list.select(Name,te=sum(as.numeric(.$Expertise))) %>>%
list.mapv(
.$te
)
p %>>% list.cases(.$Interests)
p %>>% list.class(.$Interests) %>>% list.count
p %>>% list.table(.$Interests)
p %>>% list.table(.$Expertise)
p %>>% list.table(.$Expertise)
p %>>% list.table(names(.$Expertise))
p %>>% list.filter(.$Expertise$Cpp >0)%>>% list.count()
p %>>% list.filter(!is.na(.$Expertise$Cpp))%>>% list.count()
p %>>% list.filter(.$Age>30) %>>% list.subset()
cnt=0
for(i in p){
cnt=cnt+1
print(paste(cnt,i[1],i[2],i[3],i[4],sep="="))
}
list.iter(p, cat(Name,
"-",
Age,
"-",
Interests,
"-",
unlist(names(Expertise)),
"-",
unlist(Expertise),
"-",
sum(unlist(Expertise))
, "\n")
)
p %>>% list.iter(Name) %>>% str
p %>>% list.mapv(.$Name)
fx=function(v){
rv=sum(as.numeric(v))
#rv=list(v,rv)
}
p %>>% list.select(Expertise,fx(.$Expertise))
p1=list(a=1:7,b=letters[1:5])
p2=list(a=4:12,b=letters[5:15])
l=list(p1,p2);l
l %>>% list.filter("e" %in% .$b) %>% list.extract(1)
l %>>% list.exclude("f" %in% .$b)
p %>>% list.map("ASya" %in% Name)
p %>% list.sort(.$Name)
p %>% list.sort((.$Age))
p %>%
list.select(Name,Age) %>%
list.filter(
length(unlist(.$Interests))==0
)
d=kbv::mytest_data()
d
d$fl1=as.factor(d$fl1)
d$fl2=as.factor(d$fl2)
d$x=as.numeric(d$x)
str(d)
fx=function(v){
print((v))
if (class(v) == "factor"){
rv=table(v)
}
else
{
rv=mean(v)
}
}
fx0=function(v){
rv=map(v,fx)
}
d %>% as_tibble() %>% split(.$fl2) %>% map(fx0)
d %>% as_tibble() %>% group_by(fl2) %>% nest() %>% map_depth(2,fx0)