我们假设我们有一个x包含列job和的数据框income.引用帧中的数据通常需要列中x$job数据的命令job和列x$income中的数据income.
但是,使用该命令attach(x)允许$在引用相同数据时取消数据帧的名称和符号.因此,x$job变得job和x$income成为income在R代码.
问题是R中的许多专家建议在R中attach()编码时不要使用该命令.
主要原因是什么?应该用什么呢?
我使用该readChar()函数将文本读入R中.我的目的是检验这样一个假设,即文本的句子出现的字母"a"与字母"b"的出现次数一样多.我最近发现了这个{stringr}软件包,这对我的文本做了很多有用的事情,比如计算字符数和整个文本中每个字母的出现次数.现在,我需要知道整篇文章中的句子数量.R有任何功能,可以帮我做到吗?非常感谢你!
我有以下向量:
x <- c(3, 7, NA, 4, 8)
Run Code Online (Sandbox Code Playgroud)
而我只是想知道NA向量中的索引.例如,如果我想知道索引7,则以下代码将起作用:
> which(x == 7)
[1] 2
Run Code Online (Sandbox Code Playgroud)
我觉得奇怪的是,在尝试查找索引时运行相同的代码NA并没有给我想要的结果.
> which(x == NA)
integer(0)
Run Code Online (Sandbox Code Playgroud)
我也试过以下但它不起作用:
> which(x == "NA")
integer(0)
Run Code Online (Sandbox Code Playgroud)
非常感谢您的帮助.
编辑
@ccapizzano已在下面回答了这个问题,但有人可以解释为什么上面的代码不起作用吗?
我想在 R Markdown 文档中的参考书目之后添加表格和数字。但是,默认情况下,R Markdown 文档将始终将参考书目添加到报告的末尾。
有没有一种简单的方法可以在引用后向文档添加内容?
一个以前的答案表明,就是把附录中的R在降价后书目的方式。此附录是一个单独的文件,并after_body通过 YAML 标头添加到文档中。我尝试了 2 种不同的可能解决方案,但都没有奏效。
results = "hide"将它们隐藏在主文件中。这个想法是创建 2 个单独的 PDF 并合并它们。不幸的是,当数字被隐藏时,参考也变成了?? .bookdown:pdf_document2.R文件创建的,并使用include_graphics().我将使用以下数据集来说明我的问题:
my_df <- data.frame(
a = 1:10,
b = 10:1
)
colnames(my_df) <- c("a", "b")
Run Code Online (Sandbox Code Playgroud)
第1部分
我使用该mutate()函数在我的数据集中创建两个新变量,我想计算同一mutate()调用中两个新列的行方式.但是,我真的希望能够使用select()帮助器,如starts_with(),ends_with()或contains().
我的第一次尝试:
my_df %>%
mutate(
a_2 = a^2,
b_2 = b^2,
mean = rowMeans(select(ends_with("2")))
)
Error in mutate_impl(.data, dots) :
Evaluation error: No tidyselect variables were registered.
Run Code Online (Sandbox Code Playgroud)
我理解为什么会出现错误 - select()函数没有给出任何.data参数.所以我改变了代码......
...我.在select()函数内添加" "的第二次尝试:
my_df %>%
mutate(
a_2 = a^2,
b_2 = b^2,
mean = rowMeans(select(., ends_with("2"))) …Run Code Online (Sandbox Code Playgroud) 假设我有一个x包含0到2之间的20个值的向量.
x = runif(20, 0, 2)
Run Code Online (Sandbox Code Playgroud)
现在,我想y在以下条件下创建另一个仅包含0和1的向量(二进制变量):y = 0if x < 1和y = 1in case x > 1.
我尝试用循环和if语句以下列方式执行此操作:
x = runif(20, 0, 2) # Create a vector of 20 values between 0 and 2
y = rep(5, 20) # Create a vector of 20 values (only 5's)
for(i in 1:length(x)) # Loop that assigns values to the y vector depending on x
{
if(x < 1)
{ …Run Code Online (Sandbox Code Playgroud) 我有一个10 x 5的数据帧和一个接收2个输入a和的功能b.
a是一个向量,b是一个整数.
该函数fun计算向量的平均值a并将其乘以b并返回结果.在下面的代码中,我尝试apply()将此函数用于每一列,x但它似乎不起作用.请帮忙!
x = data.frame(rnorm(10), rnorm(10), rnorm(10), rnorm(10), rnorm(10))
fun = function(a, b)
{
c = mean(a) * b
return(c)
}
apply(x, 2, fun(x,2))
Run Code Online (Sandbox Code Playgroud) 我有一个列表l,它具有以下功能:
l = list(a = c(2, 3, 1, 5, 1), b = c(4, 3, 3, 5, 2), c = c(5, 1, 3, 2, 4))
Run Code Online (Sandbox Code Playgroud)
我想做两件事:
第一
我想知道每个数字在整个列表中出现的次数,我希望每个结果都是一个向量(或任何可以让我以后用结果执行计算的形式):
代码1:
> a <- table(sapply(l, "["))
> x <- as.data.frame(a)
> x
Var1 Freq
1 1 3
2 2 3
3 3 4
4 4 2
5 5 3
Run Code Online (Sandbox Code Playgroud)
无论如何都不使用该table()功能.我想"手动"做到这一点.我试着在下面做.
代码2 :(我知道这不是很有效!)
x <- data.frame(
"1" <- sum(sapply(l, "[")) == 1
"2" <- sum(sapply(l, "[")) == …Run Code Online (Sandbox Code Playgroud) 将多个列嵌套到单个列表列中的概念非常强大。但是,我不确定是否可以使用中的nest功能将多个列嵌套在同一管道内的多个列表列中{tidyr}。例如,假设我具有以下数据框:
df <- as.data.frame(replicate(6, runif(10) * 100))
colnames(df) <- c(
paste0("a", 1:2), # a1, a2
paste0("b", 1:4) # b1, b2, b3, b4
)
df
a1 a2 b1 b2 b3 b4
1 20.807348 69.339482 91.837151 99.76813 3.394350 33.780049
2 64.667733 20.676381 80.523369 38.42774 85.635208 60.111491
3 55.352501 55.699571 4.812923 38.65333 98.869203 80.345576
4 45.194094 16.511696 83.834651 51.48698 7.191081 16.697210
5 66.401642 89.041055 26.965636 67.90061 90.622428 59.552935
6 35.750100 55.997766 49.768556 68.45900 67.523080 58.993232
7 21.392823 5.335281 56.348328 …Run Code Online (Sandbox Code Playgroud) 你好所有潜在的帮助者,
我有一个SpatialPolygonDataFrame从tigris包中获得的对象,我想在创建ppp对象时将其用作多边形窗口。这是我尝试过的:
# Needed packages
library(spatstat)
library(sf)
# Download geospatial data for Lee county in Alabama (home of the great Auburn University by the way!)
county <- tigris::county_subdivisions(state = "Alabama", county = "Lee")
# The polygon of Lee county is subdivided, so I convert it to a single polygon after converting it to an sf object
county_sf <- st_as_sf(county)
county_one <- st_union(county_sf)
# A quick plot of the object outputs what I am expecting …Run Code Online (Sandbox Code Playgroud)