小编pat*_*atL的帖子

完成R会话大小

由于我在R Session(8GB Windows PC)中不断达到内存大小限制,我开始remove加载大对象.但是一旦达到此限制,删除对象似乎无法正常工作.

所以,我想知道是否有办法获得R Session大小.我知道可以检索对象的大小(在这个帖子中看到).我想知道是否有办法计算完整的R Session大小(加载包,对象等).

谢谢!

session ls r

12
推荐指数
1
解决办法
606
查看次数

通过 Summary 停止警告

我想知道如何停止警告:

summarise() has grouped output by 'Var'. You can override using the .groups argument.

当我使用时:

group_by(Var) %>% summarise(...).
Run Code Online (Sandbox Code Playgroud)

我会感谢任何帮助。

r dplyr

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

如何解决 log() 在 r 中产生 NaN 的错误

我正在尝试对我的用户定义分布进行蒙特卡罗模拟研究,并且我修改了我R在一篇文章中看到的另一个代码。我的R代码如下;

library(rootSolve)
library(Matrix)
library(bbmle)

alpha=4
beta=0.3
rho=2
lambda=0.5
theta=0.2

samp=1000
par1=c(alpha,beta,rho,lambda,theta)

####Define BXIIWG quantile
BXIIWG_quantile=function(alpha,beta,rho,lambda,theta,u){
  f=function(x){
  beta*x^alpha+lambda*log(1+x^rho)+log(1-u)
  }
  x=uniroot(f,c(0,100),tol=0.0001)$root
  return(x)
}

####Define BXIIWG log-likelihood
BXIIWG_neglogl=function(alpha,beta,rho,lambda,theta){
  -sum(log(alpha*beta*x^(alpha-1)*(1+x^rho)+rho*lambda*x^(rho-1)))+(lambda+1)*sum(log(1+x^rho))-n*log(1-theta)+beta*sum(x^alpha)+2*sum(log(1-theta*(1+x^rho)^(-lambda)*exp(-beta*x^alpha)))
}

####Define simulation process of BXIIWG
BXIIWG_simulation=function(size=c(25,50,100,200,400,800),samp,par1){
Mean=vector()
RMSE=vector()
Bias=vector()
for (iter_size in 1:length(size)){
coef1=matrix(NA,samp,5)
colnames(coef1)=c('alpha','beta','rho','lambda','theta')
for (nsamp in 1:samp){
tryCatch(
{
x1_BXIIWG=NULL
q=runif(size[iter_size],0,1)
x1=sapply(q,BXIIWG_quantile,
alpha=par1[1],beta=par1[2],rho=par1[3],lambda=par1[4],theta=par1[5])
###BXIIWG for x1
x1_BXIIWG<-mle2(BXIIWG_neglogl,
start=list(alpha=par1[1],beta=par1[2],rho=par1[3],lambda=par1[4],theta=par1[5]),
method="L-BFGS-B",data=list(x=x1),
lower=c(alpha=0,beta=0,rho=0,lambda=0,theta=0),
upper=c(alpha=Inf,beta=Inf,rho=Inf,lambda=Inf,theta=1),use.ginv=TRUE)
coef[nsamp,]=coef(x1_BXIIWG)
},error=function(e){}
)
}
Mean[length(size)*(0:4)+iter_size]=apply(coef1,2,mean,na.rm=TRUE)
RMSE[length(size)*(0:4)+iter_size]=apply((coef1-matrix(rep(par1,nsamp),
ncol=5,byrow=T))^2,2,function(x){sqrt(mean(x,na.rm=TRUE))})
  }
Bias-as.vector(sapply(1:5,function(x){Bias[(length(size)*(x-1)+1):
(length(size)*x)]=Mean[(length(size)*(x-1)+1):(length(size)*x)]-par1[x]}))
samplesize=as.vector(t(mapply(rep,size,5)))
return(cbind(samplesize,Mean,RMSE,Bias))
}
BXIIWGsim1<-BXIIWG_simulation(25,1000,par1)
Mean1<-BXIIWGsim1$Mean
RMSE1<-BXIIWGsim1$RMSE …
Run Code Online (Sandbox Code Playgroud)

r

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

使用 read.csv 跳过 r 中的最后一列

我在那个帖子read.csv 并跳过 R 中的最后一列但没有找到我的答案,并尝试直接检查答案...但这不是正确的方法(感谢mjuarez花时间让我回到正轨.

原来的问题是:

我已经阅读了其他几篇关于如何使用 read.csv 导入 csv 文件但跳过特定列的文章。但是,我发现的所有示例的列都很少,因此很容易执行以下操作:

 columnHeaders <- c("column1", "column2", "column_to_skip")
 columnClasses <- c("numeric", "numeric", "NULL")
 data <- read.csv(fileCSV, header = FALSE, sep = ",", col.names = 
 columnHeaders, colClasses = columnClasses)
Run Code Online (Sandbox Code Playgroud)

所有答案都很好,但不适用于我打算做的事情。所以我问我自己和其他人:

在一个功能中,data <- read_csv(fileCSV)[,(ncol(data)-1)] 可以工作吗?

我已经尝试在一行中R继续data,前 6 列中的所有 5 列,所以不是最后一列。为此,我想在列数中使用“-”,您认为可能吗?我怎样才能做到这一点?

谢谢!

csv r read.csv

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

如何使用接收器仍然可以在R中打印消息?

我正在尝试使用sink函数保存增强的日志,如下面的代码:

require(xgboost)
require(R.utils)

data(iris)
train.model <- model.matrix(Sepal.Length~., iris)

dtrain <- xgb.DMatrix(data=train.model, label=iris$Sepal.Length)

xgb_grid = list(eta = 0.05, max_depth = 5, subsample = 0.7, gamma = 0.3,
  min_child_weight = 1)

sink("evaluationLog.txt")
fit_boost <-xgb.cv(data  = dtrain,
                  nrounds     = 1000,
                  objective   = "reg:linear",
                  eval_metric = "logloss", 
                  params = xgb_grid,
                  colsample_bytree = 0.7, 
                  early_stopping_rounds = 100,
                  nfold = 5,
                  prediction = TRUE,
                  maximize = FALSE
                  )

sink()
Run Code Online (Sandbox Code Playgroud)

但是我看不到"发生了什么",因为它不打印函数的输出和/或消息.

我的问题是如何才能检索.txt文件sink并查看函数(在这种情况下xgb.cv是什么)打印?

谢谢!

printing r sink

4
推荐指数
1
解决办法
468
查看次数

从R中的lm中提取变量以使用预测

说我运行以下内容 lm

my.model = lm(distance ~ speed, data = my.data)
Run Code Online (Sandbox Code Playgroud)

我可以做以下事情来做一个元素预测

predict(my.model, speed = c(40))
Run Code Online (Sandbox Code Playgroud)

情况就是这样:我有一个lm,我知道它做了什么(它是速度距离的回归),但我不知道回归量被命名为速度.我怎么还能预测?

predict(my.model, ??? = c(40))
Run Code Online (Sandbox Code Playgroud)

我可以得到回归者的名字,names(my.model$coefficients)但我无法弄清楚如何将其传递给预测

predict(my.model, names(my.model$coefficients)[2] = c(40)) 不行

有什么建议?

谢谢!

r predict lm

2
推荐指数
1
解决办法
61
查看次数

使用 dplyr 规范化数据框列的选择

我有一个data.framewith 变量var1 var2(两个字符串)和变量x, y, 和z。我想规范化 variables xy并将z它们全部除以它们各自的第一个元素。

我试过:

df_ %>% 
  mutate_at(c("x", "y", "z"), funs(./.[1])) %>% head()
Run Code Online (Sandbox Code Playgroud)

但是,这将整列设置为 1。我怎样才能实现它除以第一个元素?

其次,什么是归一化添加到数据帧作为变量的最佳方式x_normy_normz_norm

非常感谢,如果您需要更多信息,请告诉我。

r dplyr mutate

2
推荐指数
1
解决办法
1105
查看次数

在 R 中一次在目录内创建子目录

我一直在 SO 中寻找一个关于如何在 R 中同时在一个目录中创建两个(或 n 个)子目录的线程,但只发现不是我想要的。

我可以通过以下两行来完成:

dir.create(file.path(getwd(), "test"))

sapply(letters[1:2], 
   function(x) dir.create(file.path(getwd(), "test", paste0(x, "_test"))))

#   a    b 
#TRUE TRUE 
Run Code Online (Sandbox Code Playgroud)

我怎样才能在一行中完成它?

谢谢。

directory r function subdirectory

2
推荐指数
1
解决办法
6628
查看次数

dplyr排列_所有列

我正在尝试data.frame使用降序排列所有变量dplyr。我尝试过关注这篇文章另一篇文章,但没有运气。

我可以通过使用来完成它sapply(my_data, function(x) sort(x, decreasing = T)),但是我想知道是否有办法dplyr

谢谢。

预期输出

## A tibble: 14 x 8
#      mean_EDR  total_EDR  mean_ED total_ED meanEDGE totalEDGE       PD    SR
#         <dbl>      <dbl>    <dbl>    <dbl>    <dbl>     <dbl>    <dbl> <dbl>
# 1 0.006364422 0.25457688 87.45347 3591.964 4.402291  190.8988 5012.058    45
# 2 0.004558913 0.18287734 85.17115 3585.592 4.334637  182.0548 5006.400    43
# 3 0.004354222 0.18235650 82.18129 3577.188 4.296272  180.4434 4847.001    42
# 4 0.003916397 0.17623788 …
Run Code Online (Sandbox Code Playgroud)

sorting r dplyr

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

在R中使用cat删除最后一个向量元素中的逗号

我在R中遇到一个小问题,但是我不知道如何解决它。

我想使用cat在R控制台中使用中的sep参数打印消息cat。这是我尝试过的:

words <- c("foo", "foo2", "foo3")
cat("words not included:", "\n", words, sep = ",")
#words not included:,
#,foo,foo2,foo3
Run Code Online (Sandbox Code Playgroud)

如我们所见,逗号:foo。之后插入。

然后我做了:

cat("words not included:", "\n", words, sep = ",", "\n")
#words not included:,
#,foo,foo2,foo3,
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

#words not included:
    #foo,foo2,foo3
Run Code Online (Sandbox Code Playgroud)

r cat

0
推荐指数
1
解决办法
42
查看次数

标签 统计

r ×10

dplyr ×3

cat ×1

csv ×1

directory ×1

function ×1

lm ×1

ls ×1

mutate ×1

predict ×1

printing ×1

read.csv ×1

session ×1

sink ×1

sorting ×1

subdirectory ×1