从excel到R获得参数

问题描述 投票:-2回答:1

我通过宏从excel调用R脚本。

在excel中,我有三个单元格作为Area

           Area 
DEHRADUN    Delhi   MUMBAI

这些区域分别是args [1],args [2],args [3]。现在,我正在使用以下代码

AreaIn<-NULL
AreaIn<-c(1:3)
for(k in 1:3){
      AreaIn[k]<-as.character(args[AreaIn[k]])
    }

将AreaIn作为c('DEHRADUN','德里','MUMBAI')。

但我只是将AreaIn作为“DEHRADUN”。有人可以告诉我该怎么做。

注意:我刚刚从更大的代码中获取了此问题所需的部分代码。

r excel
1个回答
0
投票

首先使用AreaInAreaIn<-c(1:3)声明为数字或整数。

但是然后使用以下方法将类型更改为循环中的character

AreaIn[k]<-as.character(args[AreaIn[k]])

如果您运行以下诊断,您将发现正在发生的事情:

 args <- c("A","B","C")
  AreaIn<-NULL
  AreaIn<-c(1:3)
  for(k in 1:3){
    cat(class(AreaIn),AreaIn,"\n")
    AreaIn[k]<-as.character(args[AreaIn[k]])
    cat(class(AreaIn),AreaIn,"\n")

  }

输出:

integer 1 2 3 
character A 2 3 
character A 2 3 
character A NA 3 
character A NA 3 
character A NA NA 

如果你只需要args的副本,为什么不AreaIn <- args

© www.soinside.com 2019 - 2024. All rights reserved.