我试图通过将变量传递到模型中来预测R使用predict()函数的值.
我收到以下错误:
Error in eval(predvars, data, env) :
numeric 'envir' arg not of length one
Run Code Online (Sandbox Code Playgroud)
这是我的data frame名字df:
df <- read.table(text = '
Quarter Coupon Total
1 "Dec 06" 25027.072 132450574
2 "Dec 07" 76386.820 194154767
3 "Dec 08" 79622.147 221571135
4 "Dec 09" 74114.416 205880072
5 "Dec 10" 70993.058 188666980
6 "Jun 06" 12048.162 139137919
7 "Jun 07" 46889.369 165276325
8 "Jun 08" 84732.537 207074374
9 "Jun 09" 83240.084 221945162
10 "Jun 10" 81970.143 …Run Code Online (Sandbox Code Playgroud) 我最近有一台带有多个内核的计算机,我正在学习使用并行计算.我非常精通lapply并被告知parLapply工作非常相似.我虽然没有正确操作.似乎我必须明确地将所有内容放在其中parLapply以使其工作(即要使用的函数,变量等).使用lapply它从父环境读取,parLapply似乎不这样做.所以在我下面的例子中,我可以通过将所有信息放在里面来使一切工作,parLapply但如果我在用户定义的函数中使用它,我就无法明确地放入text.var其中parLapply.
library(parallel)
text.var <- rep("I like cake and ice cream so much!", 20)
ntv <- length(text.var)
gc.rate <- 10
pos <- function(i) {
paste(sapply(strsplit(tolower(i), " "), nchar), collapse=" | ")
}
lapply(seq_len(ntv), function(i) {
x <- pos(text.var[i])
if (i%%gc.rate==0) gc()
return(x)
}
)
#doesn't work
cl <- makeCluster(mc <- getOption("cl.cores", 4))
parLapply(cl, seq_len(ntv), function(i) {
x <- pos(text.var[i])
if (i%%gc.rate==0) gc()
return(x)
}
) …Run Code Online (Sandbox Code Playgroud) 假设您有一个值列表
x <- list(a=c(1,2,3), b = c(2,3,4), c=c(4,5,6))
Run Code Online (Sandbox Code Playgroud)
我想找到所有列表元素组合的唯一值.到目前为止,以下代码完成了这一操作
unique(unlist(x))
Run Code Online (Sandbox Code Playgroud)
有谁知道更有效的方式?我有一个很有价值的大量清单,并会欣赏任何加速.
我在我django.contrib.admin的一个应用程序中使用.
我的模特:
class Gallery(models.Model):
location = models.ForeignKey(Location)
date = models.CharField(max_length = 15)
class Image(models.Model):
gallery = models.ForeignKey(Gallery)
name = models.CharField(max_length=35)
image = ImageField(upload_to='songs')
Run Code Online (Sandbox Code Playgroud)
我的admin.py:
class ImageInline(admin.StackedInline):
model = Image
class GalleryAdmin(admin.ModelAdmin):
inlines = [ ImageInline, ]
Run Code Online (Sandbox Code Playgroud)
在管理部分,我现在可以创建一个库并在同一页面上添加图像.默认情况下,django显示三种图像上传形式.如何将其更改为仅一个?
假设数据
library(ggplot2)
library(plotly)
set.seed(357)
xy <- data.frame(letters = rep(c("a", "b", "c"), times = 3),
values = runif(9),
groups = rep(c("group1", "group2", "group3"), each = 3))
letters values groups
1 a 0.9913409 group1
2 b 0.6245529 group1
3 c 0.5245744 group1
4 a 0.4601817 group2
5 b 0.2254525 group2
6 c 0.5898001 group2
7 a 0.1716801 group3
8 b 0.3195294 group3
9 c 0.8953055 group3
ggplotly(
ggplot(xy, aes(x = letters, y = values, group = groups)) +
theme_bw() +
geom_point()
) …Run Code Online (Sandbox Code Playgroud) 我在数据框中有三个变量,并希望交换4列
"dam" "piglet" "fdate" "ssire"
Run Code Online (Sandbox Code Playgroud)
至
"piglet" "ssire" "dam" "tdate"
Run Code Online (Sandbox Code Playgroud)
有什么方法可以使用R进行交换吗?
任何帮助将非常感谢.
巴兹
我遇到的唯一解决方案是使用正则表达式并递归替换第一个目录,直到得到一个没有斜杠的单词.
gsub("/\\w*/","/",gsub("/\\w*/","/",getwd()))
Run Code Online (Sandbox Code Playgroud)
有什么稍微优雅的吗?(而且更便携?)
有没有一种简单的方法可以将Pandas Dataframe中的pickle文件(.pkl)读入R?
一种可能性是导出到CSV并让R读取CSV,但这对我来说似乎非常麻烦,因为我的数据帧相当大.有更简单的方法吗?
谢谢!
我有一个包含任何这些值的数据框.
from=c("A","C","G","T","R","Y","M","K","W", "S","N")
Run Code Online (Sandbox Code Playgroud)
我想用相应的替换
to=c("AA","CC","GG","TT","AG","CT","AC","GT","AT", "CG","NN")
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么,循环遍历所有要替换的值?或循环遍历矩阵位置.或任何其他解决方案?
dd<-matrix(sample(from, 100, replace=TRUE), 10)
dd
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] "K" "S" "G" "T" "R" "N" "A" "C" "W" "M"
[2,] "Y" "K" "S" "G" "T" "R" "N" "A" "C" "W"
[3,] "M" "Y" "K" "S" "G" "T" "R" "N" "A" "C"
[4,] "W" "M" "Y" "K" "S" "G" "T" "R" "N" "A"
[5,] "C" "W" "M" "Y" "K" "S" "G" "T" "R" "N"
[6,] "A" "C" …Run Code Online (Sandbox Code Playgroud) 我有一个程序监视某些文件的变化.文件一旦更新,就会处理该文件.到目前为止,我已经提出了在R中进行"实时分析"的一般方法.我希望你们有其他方法.也许我们可以讨论他们的优点/缺点.
monitor <- TRUE
start.state <- file.info$mtime # modification time of the file when initiating
while(monitor) {
change.state <- file.info$mtime
if(start.state < change.state) {
#process
} else {
print("Nothing new.")
}
Sys.sleep(sleep.time)
}
Run Code Online (Sandbox Code Playgroud)