我想知道为什么下面的R代码中的length()命令总是给出1?我想知道ps的数量是较小的还是等于.05 out n ps?
n = 1e3
p = runif(n, 0, 1)
length(p <= .05)/n # why just gives 1, while it should be less than 1.
我必须在R中执行一个地理编码脚本。我有一个给定的脚本,我已经尝试让它工作,但不断得到错误。我正在粘贴我的代码和我得到的错误。如果你能给我指引正确的方向,我将不胜感激。
# initialise a dataframe to hold the results
geocoded <- data.frame()
# find out where to start in the address list (if the script was interrupted before):
startindex <- 1
# if a temp file exists - load it up a
我的Rcpp代码偶尔会失败(SEGFAULT等等)因为我不明白的原因。代码创建一个大型data.frame,然后通过调用R子集函数( [.data.frame),尝试从创建框架的同一方法中获取该data.frame的子集。它的一个非常简化的版本如下:
library(Rcpp)
src <- '// R function to subset data.frame - what will be called to subset
DataFrame test() {
Function subsetinR("[.data.frame");
// Make a dat
我试图在R中求解一个非线性方程组,但它总是给我这样的错误:“要替换的项数不是替换长度的倍数”。
我的代码如下所示:
my_data <- Danske
D <- my_data$D
V <- my_data$V
r <- my_data$r
s <- my_data$s
fnewton <- function(x)
{
y <- numeric(2)
d1 <- (log(x[1]/D)+(r+x[2]^2/2))/x[2]
d2 <- d1-x[2]
y[1] <- V - (x[1]*pnorm(
你能告诉我为什么
paste(paste(c("first", "second"), collapse=", "), "third", collapse=" and ")
给我
"first, second third"
而不是
"first, second and third"
?获得第二个输出的正确语法是什么?
我想使用apply来遍历矩阵的各行,并且在我的函数中使用当前行的行名。似乎不能在函数中直接使用rownames、colnames、dimnames或names。我知道我可以根据中的信息创建一个变通方法。
但我的问题是,apply如何在其第一个参数中处理数组的行名和列名,以及如何将名称分配给apply调用的函数内创建的对象?这看起来有点不一致,我希望通过下面的例子来说明。为什么设计成这样有原因吗?
# Toy data
m <- matrix( runif(9) , nrow = 3 )
rownames(m) <- LETTERS[1:3]
colnames(m) <- le
我是R的初学者,所以如果我之前问过这个问题,我很抱歉,但是我没有发现类似的东西:
我所需要的只是从命令中返回向量的长度(在环境中有两个长度分别为5和6的向量),并与ls连接。
for (i in ls()) {print (length(noquote(i)))}
但是,对于这两个向量,这将返回1。
谢谢你的提示。
我在R中创建了两个向量,用统计分布来构造向量。
第一个是长度为1000的字符串上的位置向量。这个向量大约有10个值,叫做mu。
第二个向量是一个数字列表,每个数字表示上述每个位置的特征数。这个向量叫做N。
我需要做的是为每个位置(mu)的所有特征(N)生成一个随机分布。
经过一些修改之后,我发现这段代码工作正常:
for (i in 1:length(mu)){
a <- rnorm(N[i],mu[i],20)
feature.location <- c(feature.location,a)
}
这就产生了正确的输出--长度和(N)的数字列表,每个数字都是一个位置图,它与mu中
我有一些用两个不同长度的向量调用的代码,让我们将它们称为A和B。然而,我编写函数时考虑到了A的一个元素,并期望它将自动在A上被线程化为具体的,
A <- rnorm(5)
B <- rnorm(30)
foo <- function(x,B){
sum( cos(x*B) ) # calculate sum_i cos(x*B[i])
}
sum( exp(foo(A,B)) ) # expecting this to calculate the exponent for each A[j] and add over j
我要去找
Σ_j exp( Σ_i cos
我一直在努力通过使用最后一个元素来使dcast聚合。下面是一个例子:
x <- data.table::data.table(foo = "bar", value = c(1, 0))
x
# foo value
# 1: bar 1
# 2: bar 0
data.table::dcast(x, ... ~ foo, fun.aggregate = function(x) x[length(x)])
# Error: Aggregating function(s) should take vector inputs and return a s
这与我之前的问题()有关,但我似乎在这个问题上做得不太好。这是另一次尝试。
我正在使用R.中拥抱空间中的转换器模型,除了需要多个字符串作为输入的模型之外,所有模型都工作得很好。在python中,语法是"a","b“。什么是R中的等价物?对我来说,快速的研究产生了向量/列表,但这些似乎不起作用。
这就是我试图复制的python中的输入:
text=["a photo of a cat", "a photo of a dog"], images=image
这是R码
library(reticulate)
library(here)
libr
我不太理解FUN.VALUE在vapply中的论点。以下是我的例子:
a = list(list(1,2), list(1), list(1,2,3))
# give the lengths of each list in a
sapply(a, length)
现在,我尝试使用vapply而不是sapply来实现类型安全。
# gives me same result as sapply
vapply(a, length, FUN.VALUE=1)
# same result, but why?
vapply(a, length, FUN.VALUE=1000)
# gives me