小编enr*_*ero的帖子

按元素名称组合/合并列表

我有两个列表,其元素具有部分重叠的名称,我需要逐个元素地合并/组合成一个列表:

> lst1 <- list(integers=c(1:7), letters=letters[1:5],
                words=c("two", "strings"))
> lst2 <- list(letters=letters[1:10], booleans=c(TRUE, TRUE, FALSE, TRUE),
                words=c("another", "two"), floats=c(1.2, 2.4, 3.8, 5.6))

> lst1
$integers
[1] 1 2 3 4 5 6 7

$letters
[1] "a" "b" "c" "d" "e"

$words
[1] "two"     "strings"

> lst2
$letters
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"

$booleans
[1]  TRUE  TRUE FALSE  TRUE

$words
[1] "another" "two"    

$floats
[1] 1.2 2.4 3.8 5.6
Run Code Online (Sandbox Code Playgroud)

我尝试使用mapply,它基本上按索引组合了两个列表(即:"[["),而我需要按名称组合它们(即:"$").此外,由于列表具有不同的长度,因此应用了回收规则(具有相当不可预测的结果). …

merge element r list named

28
推荐指数
1
解决办法
1万
查看次数

对数刻度上的闪亮滑块

我正在使用Shiny构建一个简单的Web应用程序,其中包含一个滑块,用于控制输出中应显示的p值.

如何使滑块作用于对数而不是线性?

目前我有:

sliderInput("pvalue",
            "PValue:",
            min = 0,
            max = 1e-2,
            value = c(0, 1e-2)
),
Run Code Online (Sandbox Code Playgroud)

谢谢!

r slider shiny

21
推荐指数
3
解决办法
5093
查看次数

如何正确地使用管道(%>%)运算符创建vim indent dplyr代码?

例如,vim 不会正确缩进以下代码:

flights <- flights %>%
    group_by(year, month, day) %>%
    select(arr_delay, dep_delay) %>%
    summarise(
        arr = mean(arr_delay, na.rm = TRUE),
        dep = mean(dep_delay, na.rm = TRUE)
    ) %>%
    filter(arr > 30 | dep > 30)
Run Code Online (Sandbox Code Playgroud)

有没有办法来解决这个问题?

我正在使用Vim-R-Plugin,相关问题就在这里.

vim r indentation dplyr magrittr

15
推荐指数
1
解决办法
514
查看次数

相交列表元素的所有可能组合

我有一个向量列表:

> l <- list(A=c("one", "two", "three", "four"), B=c("one", "two"), C=c("two", "four", "five", "six"), D=c("six", "seven"))

> l
$A
[1] "one"   "two"   "three" "four"

$B
[1] "one" "two"

$C
[1] "two"  "four" "five" "six"

$D
[1] "six"   "seven"
Run Code Online (Sandbox Code Playgroud)

我想计算列表元素的所有可能的成对组合之间的重叠长度,即(结果的格式无关紧要):

AintB 2
AintC 2
AintD 0
BintC 1
BintD 0
CintD 1
Run Code Online (Sandbox Code Playgroud)

我知道combn(x, 2)可以用来得到一个矢量中所有可能的成对组合的矩阵,length(intersect(a, b))这会给我两个向量重叠的长度,但我想不出把这两个东西放在一起的方法.

任何帮助深表感谢!谢谢.

combinations r list intersect combn

9
推荐指数
2
解决办法
4206
查看次数

列表到矩阵的复杂重排

对不起,标题含糊不清.另外,一个例子胜过千言万语.

我有一个清单:

> lst<-list(A=c("one","two", "three"), B=c("two", "four", "five"), C=c("six", "seven"), D=c("one", "five", "eight"))

> lst
$A
[1] "one"   "two"   "three"

$B
[1] "two"  "four" "five"

$C
[1] "six"   "seven"

$D
[1] "one"   "five"  "eight"
Run Code Online (Sandbox Code Playgroud)

我想重新排列成以下矩阵:

> m
      A B C D
one   1 0 0 1
two   1 1 0 0
three 1 0 0 0
four  0 1 0 0
five  0 1 0 1
six   0 0 1 0
seven 0 0 1 0
eight 0 0 0 …
Run Code Online (Sandbox Code Playgroud)

r list matrix

8
推荐指数
2
解决办法
149
查看次数

如何strsplit数据框列和相应的复制行?

我有一个这样的数据框:

> df <- data.frame(Column1=c("id1", "id2", "id3"), Column2=c("text1,text2,text3", "text4", "text5,text6"), Column3=c("text7", "text8,text9,text10,text11", "text12,text13"))

> df
  Column1           Column2                   Column3
1     id1 text1,text2,text3                     text7
2     id2             text4 text8,text9,text10,text11
3     id3       text5,text6             text12,text13
Run Code Online (Sandbox Code Playgroud)

如何以这种格式转换它?

  Column1 variable                     value
1     id1  Column2                     text1
2     id1  Column2                     text2
3     id1  Column2                     text3
4     id2  Column2                     text4
5     id3  Column2                     text5
6     id3  Column2                     text6
7     id1  Column3                     text7
8     id2  Column3                     text8
9     id2  Column3                     text9
10    id2  Column3                    text10
11    id2  Column3                    text11
12    id3 …
Run Code Online (Sandbox Code Playgroud)

split r dataframe melt reshape2

6
推荐指数
2
解决办法
1754
查看次数

如何找到至少2个向量中常见的元素?

说我有5个向量:

a <- c(1,2,3)
b <- c(2,3,4)
c <- c(1,2,5,8)
d <- c(2,3,4,6)
e <- c(2,7,8,9)
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过Reduce()一起使用来计算所有这些之间的交集intersect(),如下所示:

Reduce(intersect, list(a, b, c, d, e))
[1] 2
Run Code Online (Sandbox Code Playgroud)

但是,如何才能找到至少2个向量中常见的元素?即:

[1] 1 2 3 4 8
Run Code Online (Sandbox Code Playgroud)

r vector set-operations

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

如何让vim在同一个文件中使用html和markdown语法高亮显示?

我使用remark从vim中的markdown代码制作html幻灯片.

备注需要使用包含html和markdown代码的html模板.

如何让vim在同一个html文件中使用html和markdown语法高亮显示?

html syntax vim markdown remarks

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

使用序列号在 data.frame 列中继续数字系列

我有一个数据框:

df <- data.frame(A = letters[1:10], B = c(1,1,2,2,3,4,5,NA,NA,NA))
df
   A  B
1  a  1
2  b  1
3  c  2
4  d  2
5  e  3
6  f  4
7  g  5
8  h NA
9  i NA
10 j NA
Run Code Online (Sandbox Code Playgroud)

在 B 列中,我想替换 NA 并使用下一个数字继续数字系列,以获得如下所示的数据框:

df
   A  B
1  a  1
2  b  1
3  c  2
4  d  2
5  e  3
6  f  4
7  g  5
8  h  6
9  i  7
10 j  8 …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyverse

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

如何双引号文本文件中的所有字段?

我正在寻找一种快速有效的方法来双重引用制表符分隔或逗号分隔的文本文件中的所有字段.

理想情况下,这可以是我可以从命令行运行的Perl单行程,但我对任何类型的解决方案都持开放态度.

csv shell perl command-line tab-delimited

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