小编abh*_*han的帖子

将文件复制到R中的sharepoint库

我正在尝试将文件从网络驱动器位置复制到R中的sharepoint库.共享点库位置需要用户身份验证,我想知道如何复制这些文件并在代码中传递身份验证.一个简单的file.copy不起作用.我试图使用库中的getURL()函数RCurl但是也没有用.我想知道如何完成这项任务 - 在通过身份验证时复制文件.

以下是我到目前为止尝试过的一些代码片段:

library(RCurl)
from <- "filename"
to <- "\\\\sharepoint.company.com\\Directory" #First attempt with just sharepoint location
to <- "file://sharepoint.company.com/Directory" #Another attempt with different format
h = getCurlHandle(header = TRUE, userpwd = "username:password")
getURL(to, verbose = TRUE, curl = h)
status <- file.copy(from, to)
Run Code Online (Sandbox Code Playgroud)

谢谢!

authentication r

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

ls出错(envir = envir,all.names = private)?

当我尝试使用'XLConnect'包将excel文件读入R时,以下错误不断出现.

Error in ls(envir = envir, all.names = private) : 
invalid 'envir' argument
Run Code Online (Sandbox Code Playgroud)

我实际上遇到了这个错误,甚至使用其他读取包'xlsx'和'xlsReadWrite'等excel文件的包.很多时候重新启动R会话解决了这个问题,这让我觉得我在R会话中做的其他事情正在改变环境而不允许我再加载excel文件.下面是导致此错误的最新代码示例.在这种情况下,我知道以下编码序列导致错误出现 - 但为什么会发生这种情况?如果我需要chron包,我怎么能克服这个错误.

library("XLConnect")
wb2 <- loadWorkbook("excel_file", create = FALSE)
library(chron)
wb2 <- loadWorkbook("excel_file", create = FALSE)
Run Code Online (Sandbox Code Playgroud)

其他人之前遇到过这个问题吗?非常感谢任何有关此问题的帮助!

excel r

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

在启动R会话时安装包

我对R编程很新.我正在尝试自定义我的R设置,以便在启动R会话时,在开始时安装几个包.我知道我可以在Rprofile.site文件中编写一个.First()函数.但是,在.First()函数中添加我的安装包代码后,包不会安装.

此外,它似乎进入一个尝试创建包的循环,它在R中的库文件夹中创建一个锁定文件.这导致我的计算机真的变慢(几乎到它被冻结的程度),因为它一直在尝试安装该包.

这是我添加到Rprofile.site文件末尾的代码.

.First <- function() {
  install.packages("customPackage.tar.gz", repos=NULL, type="source")
  cat("\nWelcome to R on ", date(), "\n") 
}
Run Code Online (Sandbox Code Playgroud)

我甚至尝试在文件中单独添加install.packages行(没有.First()函数)无济于事.

customPackage.tar.gz是指我使用我编写的现有代码构建的包.由于这是一个自定义包,因此repos为NULL.如果我没有在我的.First()函数中包含这一行,并且只是在启动R会话后运行该命令,则该软件包在R/R-2.15.0/library文件夹中安装得很好.

我需要在R会话开始时安装几个自定义程序包,这就是为什么在Rprofile.site文件中添加所有这些代码安装行很重要的原因.有关如何做到这一点的任何想法?我在网上看到的每个地方都定制了Rprofile.site文件,显示了仅使用已存在的库的示例(例如,库(R2HTML)),但没有用于安装新库的示例.谢谢您的帮助!

编辑:谢谢你的帮助!实际上,我确实需要为每个用户在多台机器上安装这些软件包,而不是让它们手动安装软件包一次,我认为在网站文件中做这件事会很好.我试过Justin的建议,先检查包装,然后才有效!再次感谢您的帮助!

customization r

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

用现有数据替换向量中的缺失数据

我有一个向量(我实际上只是检索了数据帧中的各个列),其中包含缺少的数据.我想用向量中的下一个可用数据(或下一个数据,如果下一个数据不可用)替换丢失的数据.所以,例如,

data <- c(NA, NA, NA, NA, 5, NA, NA, 7, NA, NA)
Run Code Online (Sandbox Code Playgroud)

应该成为

data <- c(5, 5, 5, 5, 5, 7, 7, 7, 7, 7)
Run Code Online (Sandbox Code Playgroud)

我知道这是填写缺失数据的一种非常具体的方法,但我想知道是否有一个优雅的解决方案.我尝试使用which(is.na(data))获取缺失的索引并which(!is.na(data))获取带有数据的索引,但是即使使用这两个索引列表操纵向量也需要很多混乱的逻辑.我想知道我是否which以任何方式滥用,或者是否有其他内置函数或软件包可以让我优雅地执行此逻辑.

谢谢您的帮助!

作为参考,只要向量不以一堆NA结束,下面的代码就可以工作,但我必须添加更多逻辑才能使它与原始数据集一起工作.

data <- c(NA, NA, NA, NA, 5, NA, NA, 7)
missingIndeces <- which(is.na(data))
filledIndeces <- which(!is.na(data))
if(length(missingIndeces) > 1) {
    for(j in 1:length(data)) {
        temp <- data[j:length(data)]
        filledData <- which(!is.na(temp))
        if(filledData[1] > 1)
            data[j] <- temp[filledData[1]]
    }
}
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×4

authentication ×1

customization ×1

excel ×1