我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) 我在将大型文本字符串转换为数据帧时遇到问题.我一直无法解决这个简单的任务.希望得到你的帮助.
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) 我的数据集如下所示:
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) 这应该是一个简单的解决方案......我无法解决这个问题。我想计算一个因素在数据框的多列中的出现次数。有 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)
结果我想要:
我试过了 :
worksheet %>% group_by (abx.1, abx.2, abx.3) %>% summarise(count = n())
Run Code Online (Sandbox Code Playgroud)
这并没有给我我想要的输出。任何想法将不胜感激。
我想创建一个类似于下面的情节。基本上希望 x 轴从第 35 周开始到第 52 周,然后显示第 0-34 周。确实没能找到解决办法。x 轴似乎总是默认在第 0 周。我想我可以使用 week 作为.factor 并手动设置顺序,但这似乎需要很多工作。一定有一个更简单的解决方案。希望你能帮忙。
样本数据集。我没有将其设置为正态分布......可能应该有。
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)