我有两个列表,其元素具有部分重叠的名称,我需要逐个元素地合并/组合成一个列表:
> 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,它基本上按索引组合了两个列表(即:"[["),而我需要按名称组合它们(即:"$").此外,由于列表具有不同的长度,因此应用了回收规则(具有相当不可预测的结果). …
我正在使用Shiny构建一个简单的Web应用程序,其中包含一个滑块,用于控制输出中应显示的p值.
如何使滑块作用于对数而不是线性?
目前我有:
sliderInput("pvalue",
"PValue:",
min = 0,
max = 1e-2,
value = c(0, 1e-2)
),
Run Code Online (Sandbox Code Playgroud)
谢谢!
例如,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,相关问题就在这里.
我有一个向量列表:
> 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))这会给我两个向量重叠的长度,但我想不出把这两个东西放在一起的方法.
任何帮助深表感谢!谢谢.
对不起,标题含糊不清.另外,一个例子胜过千言万语.
我有一个清单:
> 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) 我有一个这样的数据框:
> 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) 说我有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) 我有一个数据框:
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) 我正在寻找一种快速有效的方法来双重引用制表符分隔或逗号分隔的文本文件中的所有字段.
理想情况下,这可以是我可以从命令行运行的Perl单行程,但我对任何类型的解决方案都持开放态度.
r ×8
list ×3
dplyr ×2
vim ×2
combinations ×1
combn ×1
command-line ×1
csv ×1
dataframe ×1
element ×1
html ×1
indentation ×1
intersect ×1
magrittr ×1
markdown ×1
matrix ×1
melt ×1
merge ×1
named ×1
perl ×1
remarks ×1
reshape2 ×1
shell ×1
shiny ×1
slider ×1
split ×1
syntax ×1
tidyverse ×1
vector ×1