我有一个data.table不是很大(2 GB),但由于某种原因write.csv需要很长时间才能写出来(我从来没有真正完成等待),似乎使用大量的RAM来做它。 我试图将data.table转换为data.table ,尽pipe这不应该做任何事情,因为data.table扩展data.frame 。 有没有人遇到过这个? 更重要的是,如果你用Ctrl – C来停止它,R似乎没有给回内存。
我刚开始使用R,碰到data.table。 我发现它辉煌。 一个非常天真的问题:我可以忽略data.frame使用data.table来避免两个包之间的语法混淆?
在R中,我有一个操作,当我转换dataframe时创build一些Inf值。 我想将这些Inf值转换成NA值。 我所拥有的代码对于大数据来说是很慢的,有没有更快的方法呢? 假设我有以下数据框: dat <- data.frame(a=c(1, Inf), b=c(Inf, 3), d=c("a","b")) 下面的例子是在一个案例中的作品: dat[,1][is.infinite(dat[,1])] = NA 所以我把它推广到下面的循环 cf_DFinf2NA <- function(x) { for (i in 1:ncol(x)){ x[,i][is.infinite(x[,i])] = NA } return(x) } 但我不认为这是真的使用R的力量。
有很多关于取代NA值的post。 我知道可以用下面的表格/框架来replace新来港定居人士: x[is.na(x)]<-0 但是,如果我想限制它只有某些列呢? 让我给你看一个例子。 首先,我们从一个数据集开始。 set.seed(1234) x <- data.frame(a=sample(c(1,2,NA), 10, replace=T), b=sample(c(1,2,NA), 10, replace=T), c=sample(c(1:5,NA), 10, replace=T)) 这使: abc 1 1 NA 2 2 2 2 2 3 2 1 1 4 2 NA 1 5 NA 1 2 6 2 NA 5 7 1 1 4 8 1 1 NA 9 2 1 […]
从数据框架,有一个简单的方法来同时聚合(即总结)多个variables吗? 以下是一些示例数据: library(lubridate) days = 365*2 date = seq(as.Date("2000-01-01"), length = days, by = "day") year = year(date) month = month(date) x1 = cumsum(rnorm(days, 0.05)) x2 = cumsum(rnorm(days, 0.05)) df1 = data.frame(date, year, month, x1, x2) 我想同时按年份和月份从df2dataframe中汇总x1和x2variables。 以下代码聚合了x1variables,但是是否也可以同时聚合x2variables? ### aggregate variables by year month df2=aggregate(x1 ~ year+month, data=df1, sum, na.rm=TRUE) head(df2) 任何build议将不胜感激。