Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在同一会话中使用包dplyr和data.table会导致mutate()中出现复制错误_R_Data.table_Dplyr - Fatal编程技术网

在同一会话中使用包dplyr和data.table会导致mutate()中出现复制错误

在同一会话中使用包dplyr和data.table会导致mutate()中出现复制错误,r,data.table,dplyr,R,Data.table,Dplyr,我想使用data.table包的fast fread函数加载一个巨大的csv文件。加载后,我想将字符串变量转换为因子。但当我想对加载的文件进行如下变异时: library(data.table) library(dplyr) df <- fread("df.csv") df <- mutate(df, name = as.factor(name)) 在执行mutate之前,我尝试分离data.table包,但没有帮助。我还是会犯那个错误 有人知道如何处理这个问题吗?非常感谢 功能

我想使用data.table包的fast fread函数加载一个巨大的csv文件。加载后,我想将字符串变量转换为因子。但当我想对加载的文件进行如下变异时:

library(data.table)
library(dplyr)

df <- fread("df.csv")
df <- mutate(df, name = as.factor(name))
在执行mutate之前,我尝试分离data.table包,但没有帮助。我还是会犯那个错误


有人知道如何处理这个问题吗?非常感谢

功能
复制
来自
数据表
包。因此,当您分离
data.table
时,
dplyr
无法找到函数
copy
(由于某些原因,它没有正确导入)

正如Hadley在评论中所说,这实际上是dplyr中的一个bug,在dplyr 0.3中不应该再发生了

复制您的错误:

library(data.table)
library(dplyr)

# Creating the data.table
df <- data.table(name = 1:10)

#detaching data.table, this will cause the error
detach(package:data.table)

#dplyr can't find copy
mutate(df, name=as.factor(name))

Error in mutate.data.table(df, name = as.factor(name)) : 
  could not find function "copy"
库(data.table)
图书馆(dplyr)
#创建data.table

df无法在我的机器上复制此信息:
库(data.table);图书馆(dplyr);dt fyi,
data.table
的方式是
df[,name:=as.factor(name)]
(顺便说一句,它没有复制和修改到位)为什么要将dplyr和data.table混为一谈<代码>数据。表格是一个很好的软件——坚持使用它,它是最好的。。。。所有人都欢迎data.table!晦涩的sql语言+晦涩的r语言=伟大的软件!data.table取代了对*plyr和reforme的需要,花点时间学习它的语法,这是自切片面包以来最好的东西,从技术上讲,这实际上是dplyr中的一个bug-它在0.3中得到了修复
library(data.table)
library(dplyr)

# Creating the data.table
df <- data.table(name = 1:10)

#detaching data.table, this will cause the error
detach(package:data.table)

#dplyr can't find copy
mutate(df, name=as.factor(name))

Error in mutate.data.table(df, name = as.factor(name)) : 
  could not find function "copy"
library(data.table)
library(dplyr)
df <- data.table(name = 1:10)
mutate(df, name=as.factor(name))
    name
 1:    1
 2:    2
 3:    3
 4:    4
 5:    5
 6:    6
 7:    7
 8:    8
 9:    9
10:   10