是否可以使用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) 一个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) 我必须通过因子找出连续变量的累积频率(换算成百分比).例如:
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) 我想知道在使用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时它不起作用.
我开始使用package knitr作为工作流中的一个组件来从输入文件生成HTML和PDF报告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自动根据输出类型知道要使用哪组选项?
谢谢.