小编bea*_*111的帖子

通过用户定义的截止将帧拆分为列表

想通过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)

期望的输出最终: …

r

4
推荐指数
1
解决办法
76
查看次数

变量替换(你怎么称呼/命名这个方法)?

在bash中说我有:

c=3

b3=4
Run Code Online (Sandbox Code Playgroud)

代替:

echo $b3 
Run Code Online (Sandbox Code Playgroud)

什么样的命令输出"4"?我试过下面但不能.

  1. echo $b($(c))

  2. echo $b{!c}

  3. echo $b${c}

  4. echo ${d[$c]}

variables bash

3
推荐指数
1
解决办法
45
查看次数

列(垂直)列表的总和列表

就像数据帧中的列和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)

r

2
推荐指数
1
解决办法
95
查看次数

从组中的两列中提取最大值

在分组之后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 …

r dplyr

2
推荐指数
1
解决办法
68
查看次数

标签 统计

r ×3

bash ×1

dplyr ×1

variables ×1