想通过cutoff 将df框架拆分为嵌套df.listing列表index_cutoff:
数据:
df <- data.frame(m=c("A","T","W","Z","B","A","A","W","T","K","G","B","T","B"))
index_cutoff <- c("A","B")
Run Code Online (Sandbox Code Playgroud)
尝试代码:
df.listing <- split(df, df$m %in% keyword_cutoff) #failed, not working
Run Code Online (Sandbox Code Playgroud)
电流输出:
$`FALSE`
m
2 T
3 W
4 Z
8 W
9 T
10 K
11 G
13 T
$`TRUE`
m
1 A
5 B
6 A
7 A
12 B
14 B
Run Code Online (Sandbox Code Playgroud)
期望的输出阶段1:
df.listing[[1]]
A
T
W
Z
df.listing[[2]]
B
df.listing[[3]]
A
df.listing[[4]]
A
W
T
K
G
df.listing[[5]]
B
T
df.listing[[6]]
B
Run Code Online (Sandbox Code Playgroud)
期望的输出最终: …
在bash中说我有:
c=3
b3=4
Run Code Online (Sandbox Code Playgroud)
代替:
echo $b3
Run Code Online (Sandbox Code Playgroud)
什么样的命令输出"4"?我试过下面但不能.
echo $b($(c))
echo $b{!c}
echo $b${c}
echo ${d[$c]}
就像数据帧中的列和X1 $ value + X2 $值一样,我想在尽可能少的R代码的列表列表上执行它,而不是使用for-loop.谢谢.
输入:
n1 <- c(1,2,3)
n2 <- c(2,3,4)
df1 <- data.frame(n1,n2)
n1 <- c(3,2,1)
n2 <- c(5,5,6)
df2 <- data.frame(n1,n2)
mylist <- list(df1, df2)
n0 <- c(0,0,0) #init compute
compute <- data.frame(n0)
for(i in 1:length(mylist)){
compute[,1] <- mylist[[i]]$n1 + compute[,1]
}
Run Code Online (Sandbox Code Playgroud)
期望的输出:
>compute
n0
1 4
2 4
3 4
Run Code Online (Sandbox Code Playgroud) 在分组之后q,然后将w e分别从两个不同的列中提取两个最大值
输入数据:
q <- c(503,503,503,503,503,503,503,503,503,503,503,503,503,510,510,510,510,510,510,510,510,510,510,510,510,525,526,526)
w <- c(56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56)
e <- c(26,26,26,26,26,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,30,30,30,30,33,33,33)
r <- data.frame(q,w,e, stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)
码:
r %>% group_by(q) %>% slice(which.max(w & e))
Run Code Online (Sandbox Code Playgroud)
我的输出:
q w e
<dbl> <dbl> <dbl>
1 503. 56. 26.
2 510. 56. 28.
3 525. 56. 33.
4 526. 56. 33.
Run Code Online (Sandbox Code Playgroud)
预期产出:
q w e
1 503 56 28
2 510 56 30
3 525 56 33
4 526 56 33
Run Code Online (Sandbox Code Playgroud)
宁愿使用%>%和slice命令作为上面的代码,而不是单独找到max q$w q$e …