小编mba*_*ask的帖子

使用dplyr过滤data.frame中的完整案例(案例删除)

是否可以使用dplyr过滤data.frame以获取完整的案例?complete.cases当然,有一个所有变量的列表.但这是a)当有很多变量时很冗长,而b)当变量名称未知时是不可能的(例如在处理任何data.frame的函数中).

library(dplyr)
df = data.frame(
    x1 = c(1,2,3,NA),
    x2 = c(1,2,NA,5)
)

df %.%
  filter(complete.cases(x1,x2))
Run Code Online (Sandbox Code Playgroud)

r dplyr magrittr

85
推荐指数
5
解决办法
4万
查看次数

转换data.table中的一组列

一个data.table新手的问题.我想data.table通过对它们应用数学公式来转换a中的一组列.列集必须排除总列数中的一个或多个.

data.frame方面,我会做:

data(iris)
head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

iris[, -5] <- iris[, -5] * 1e3
head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1         5100        3500         1400         200  setosa
2         4900        3000         1400         200  setosa
3         4700        3200         1300 …
Run Code Online (Sandbox Code Playgroud)

r data.table

11
推荐指数
2
解决办法
2962
查看次数

因子累积频率

我必须通过因子找出连续变量的累积频率(换算成百分比).例如:

data <- data.frame(n = sample(1:12),
                d = seq(10, 120, by = 10),
                Site = rep(c("FirstSite", "SecondSite"), 6), 
                Plot = rep(c("Plot1", "Plot1", "Plot2", "Plot2"), 3)
                )

data <- with(data, data[order(Site,Plot),])
data <- transform(data, G = ((pi * (d/2)^2) * n) / 10000)

data
    n   d       Site  Plot           G
1   7  10  FirstSite Plot1  0.05497787
5   9  50  FirstSite Plot1  1.76714587
9  12  90  FirstSite Plot1  7.63407015
3  10  30  FirstSite Plot2  0.70685835
7   5  70  FirstSite Plot2  1.92422550
11  1 …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

如何使用pipe和purrr获取列表名称和切片名称

我想知道在使用purrr管道操作时如何将列表名称或组名称作为标志.例如:我想使用每个列表名称的dynameic参数传递给ggsave函数.

require(purrr)
require(ggplot2)
lst=list(a1=data.frame(x=1:10,y=2:11),a2=data.frame(x=1:10,y=-1*2:11))
df=rbind(transform(lst[[1]],id="a1"),transform(lst[[2]],id="a2"))
lst %>% map(~ggsave(plot=qplot(data=.,x="x",y="y",geom="line"),file=paste(listname(.),".png")))
df %>% slice_rows("id") %>%
  by_slice(~ggsave(plot=qplot(data=.,x="x",y="y",geom="line"),file=paste("slicename(.)",".png")))
Run Code Online (Sandbox Code Playgroud)

slicename(.)应该是唯一的(.[["id"]]),但是当使用slice_rows时它不起作用.

r pipe ggplot2 purrr

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

knitr:如何根据输出类型设置包选项

我开始使用package knitr作为工作流中的一个组件来从输入文件生成HTMLPDF报告Markdown.
我想设置一些knitr专门针对输出文件格式定制的包选项.目前我手动来回切换以下两行:

<!--roptions dev='png', fig.width=300px, fig.height=200px" -->
<!--roptions dev='pdf', fig.width=5, fig.height=4 -->
Run Code Online (Sandbox Code Playgroud)

是否可以让knitr自动根据输出类型知道要使用哪组选项?

谢谢.

r knitr

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

标签 统计

r ×5

ggplot2 ×2

data.table ×1

dplyr ×1

knitr ×1

magrittr ×1

pipe ×1

purrr ×1