小编Tom*_*m O的帖子

在dplyr中的字符串列上过滤多个值

data.frame在其中一列中有一个字符数据.我想data.frame在同一列中过滤多个选项.有没有一种简单的方法可以做到这一点,我错过了?

示例: data.frame name =dat

days      name
88        Lynn
11          Tom
2           Chris
5           Lisa
22        Kyla
1          Tom
222      Lynn
2         Lynn
Run Code Online (Sandbox Code Playgroud)

我想过滤一下Tom,Lynn例如.
当我做:

target <- c("Tom", "Lynn")
filt <- filter(dat, name == target)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

longer object length is not a multiple of shorter object length
Run Code Online (Sandbox Code Playgroud)

r string-matching multiple-conditions dplyr

63
推荐指数
3
解决办法
17万
查看次数

R将大字符串转换为数据帧

我在将大型文本字符串转换为数据帧时遇到问题.我一直无法解决这个简单的任务.希望得到你的帮助.

x <- "1 apple 200 blueberry 3000 pear 4400 raspberry"
Run Code Online (Sandbox Code Playgroud)

我想将其转换为如下所示的数据框:

id    name
1     apple
200   blueberry
30000 pear
4400  raspberrry
Run Code Online (Sandbox Code Playgroud)

string r dataframe

7
推荐指数
3
解决办法
9826
查看次数

将多列组合成整洁的数据

我的数据集如下所示:

unique.id abx.1    start.1     stop.1 abx.2    start.2     stop.2 abx.3    start.3     stop.3 abx.4    start.4
1         1  Moxi 2014-01-01 2014-01-07  PenG 2014-01-01 2014-01-07 Vanco 2014-01-01 2014-01-07  Moxi 2014-01-01
2         2  Moxi 2014-01-01 2014-01-02 Cipro 2014-01-01 2014-01-02  PenG 2014-01-01 2014-01-02 Vanco 2014-01-01
3         3 Cipro 2014-01-01 2014-01-05 Vanco 2014-01-01 2014-01-05 Cipro 2014-01-01 2014-01-05 Vanco 2014-01-01
4         4 Vanco 2014-01-02 2014-01-03 Cipro 2014-01-02 2014-01-03 Cipro 2014-01-02 2014-01-03  PenG 2014-01-02
5         5 Vanco 2014-01-01 2014-01-02  PenG 2014-01-01 2014-01-02  PenG 2014-01-01 2014-01-02 Cipro 2014-01-01
      stop.4    intervention …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyr

5
推荐指数
2
解决办法
2204
查看次数

使用 R &amp; dplyr 计算多列中的出现次数

这应该是一个简单的解决方案......我无法解决这个问题。我想计算一个因素在数据框的多列中的出现次数。有 13 列范围从 abx.1 > abx.13 和大量行。

示例数据框:

library(dplyr)
 abx.1 <- c('Amoxil', 'Cipro', 'Moxiflox', 'Pip-tazo')
 start.1 <- c('2012-01-01', '2012-02-01', '2013-01-01', '2014-01-01')
 abx.2 <- c('Pip-tazo', 'Ampicillin', 'Amoxil', NA)
 start.2 <- c('2012-01-01', '2012-02-01', '2013-01-01', NA)
 abx.3 <- c('Ampicillin', 'Amoxil', NA, NA)
 start.3 <- c('2012-01-01', '2012-02-01', NA,NA)
 worksheet <-data.frame (abx.1, start.1, abx.2, start.2, abx.3, start.3)
Run Code Online (Sandbox Code Playgroud)

结果我想要:

  1. 姓名数
  2. 阿莫西林 3
  3. 氨苄西林 2
  4. 匹他佐 2
  5. 环丙沙星1
  6. 莫西氟 1

我试过了 :

worksheet %>% group_by (abx.1, abx.2, abx.3) %>% summarise(count = n())
Run Code Online (Sandbox Code Playgroud)

这并没有给我我想要的输出。任何想法将不胜感激。

r frequency dplyr

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

52周x轴gglplot2起点

我想创建一个类似于下面的情节。基本上希望 x 轴从第 35 周开始到第 52 周,然后显示第 0-34 周。确实没能找到解决办法。x 轴似乎总是默认在第 0 周。我想我可以使用 week 作为.factor 并手动设置顺序,但这似乎需要很多工作。一定有一个更简单的解决方案。希望你能帮忙。

2019年加拿大流感

样本数据集。我没有将其设置为正态分布......可能应该有。

set.seed(99)
fludata <-data.frame('year'= '2019', 'week'= seq(1,52,by =1), 'cases' = sample(0:17, 52, replace=T))

ggplot(fludata,aes(x=week, y = cases)) + geom_line()
Run Code Online (Sandbox Code Playgroud)

r time-series ggplot2 dplyr

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