我正在生成许多具有相同形状的数据帧,我想将它们相互比较.我希望能够获得数据帧的均值和中位数.
Source.0 Source.1 Source.2 Source.3
cluster
0 0.001182 0.184535 0.814230 0.000054
1 0.000001 0.160490 0.839508 0.000001
2 0.000001 0.173829 0.826114 0.000055
3 0.000432 0.180065 0.819502 0.000001
4 0.000152 0.157041 0.842694 0.000113
5 0.000183 0.174142 0.825674 0.000001
6 0.000001 0.151556 0.848405 0.000038
7 0.000771 0.177583 0.821645 0.000001
8 0.000001 0.202059 0.797939 0.000001
9 0.000025 0.189537 0.810410 0.000028
10 0.006142 0.003041 0.493912 0.496905
11 0.003739 0.002367 0.514216 0.479678
12 0.002334 0.001517 0.529041 0.467108
13 0.003458 0.000001 0.532265 0.464276
14 0.000405 0.005655 0.527576 …Run Code Online (Sandbox Code Playgroud) 我想让R和NetLogo使用r扩展程序互相交谈.我传递图形对象而不是简单的变量.这意味着我需要从NetLogo导出文件并在R中导入文件,这意味着他们需要指向同一目录.代码运行完美.但是,一旦运行,NetLogo将失去与extensions文件夹的连接.
它似乎与在R中设置工作目录有关,因为以下MWE也会产生问题.
extensions [r]
to testSETWD
r:eval "setwd(\"C:\")"
end
Run Code Online (Sandbox Code Playgroud)
成功运行后,然后尝试对NetLogo进行任何编辑,我收到错误Can't find extension ....
只要我在运行R代码后不尝试编辑,NetLogo继续工作,我可以毫无问题地使用扩展.只有当我编辑代码并运行语法分析器(绿色勾选)时才会出现问题.
我做了一个错误报告,但显然不可重现.我正在运行Windows 8.1 64位.这对其他人来说是个问题吗?
还有就是在现有的igraph社区检测算法的比较优秀这里.然而,在算法中使用加权边缘可以应用权重存在一些模糊性.
通常,边缘权重将被定向,使得较高权重建议将节点保持在一起(例如,友谊的强度).通过比较内部和外部的平均加权密度,这与模块化分数很好地协作.
然而,Newman-Girvan社区检测算法使用基于距离的中间性.在这种情况下,我希望边权重应该反映节点之间的距离,以便计算最短路径对路径上的权重求和.也就是说,权重是成本或距离得分,其中较高的值应该分成不同的社区.
在使用Newman-Girvan时,我是否正确期望更高的权重,如果是这样,那么如何通过使用模块化来决定在哪里削减社区数量?
我在Mysql表中有大量的文本.我想做一些统计分析,然后使用NLTK工具包对我的文本进行一些NLP.我有两个选择:
后者似乎相当复杂,我没有找到任何实际描述如何使用它的文章我只发现了这一点: 创建一个MongoDB支持的语料库阅读器,它使用MongoDB作为其数据库,代码非常复杂,还需要知道MongoDB.另一方面,前者看起来非常简单,但会导致从DB中提取文本的开销.
现在的问题是NLTK中语料库的优点是什么?换句话说,如果我接受挑战并深入研究覆盖NTLK方法,以便它可以从MySQL数据库中读取,那值得麻烦吗?将我的文本转换成语料库会给我一些我不能(或有很多困难)使用普通NLTK函数的东西吗?
另外,如果您对将MySQL连接到NLTK有所了解,请告诉我.谢谢
我需要处理在受密码保护的Excel(xlsx)工作簿中提供的数据.出于法律原因,我无法从那里创建未受保护的Excel文件或csv文件等.所有Excel导入包都不能处理受密码保护的工作簿.
从这个答案导入密码保护的xlsx工作簿到R我已设法提取数据.但是,它是以字符列表格式列表导入的.我的列表的输入看起来像这样:
list(list("ID", "ID1", "ID2"),
list("V2", NULL, "text2"),
list("Name", "John Smith", "Mary Brown"),
list("Score", 1, 2),
list("email", "JS@gmail.com", "MB@gov.uk"))
Run Code Online (Sandbox Code Playgroud)
我想要的是具有列ID,V2等的数据帧,如下所示:
ID V2 Name Score email
ID1 NULL John Smith 1 JS@gmail.com
ID2 text2 Mary Brown 2 MS@gov.uk
Run Code Online (Sandbox Code Playgroud)
原始Excel工作簿中有空单元格,因此使用unlist的解决方案将不起作用.
使用从R列表到数据框和其他类似问题的答案组合,我有以下代码(其中listform是列表的名称):
matform <- as.matrix(sapply(listform, function(s) s)) # retains empty
df <- data.frame(matform[2:nrow(matform),])
names(df) = matform[1,]
Run Code Online (Sandbox Code Playgroud)
这很接近,但数据框列出了列.因此,str(df)收益率:
'data.frame': 2 obs. of 5 variables:
$ ID:List of 2
..$ : chr "ID1"
..$ : chr "ID2" …Run Code Online (Sandbox Code Playgroud) 我的模型中有大约 5000 个代理(人)。我想给他们任意数量的朋友,并有互惠但随机的配对。因此,如果 A 选择 B 则 B 也选择 A。我的代码运行良好,但速度相当慢。我很可能想在未来增加朋友的数量和人数。有更快的建议吗?
ask people
[ let new-links friends - count my-links
if new-links > 0
[ let candidates other people with [ count my-links < friends ]
create-links-with n-of min (list new-links count candidates) candidates
[ hide-link ]
]
]
Run Code Online (Sandbox Code Playgroud)
请注意,在上面的代码中,朋友是一个全局变量,但我最终的代码可能会概括wanted-number-of-friends为人的一个属性。
已编辑添加了if new-links > 0条件,以便在ask不需要找到候选时避免嵌套。这提高了速度,但仍然不能真正扩展。
这是NetLogo Efficient way to create fixed number of links的后续问题。在专注于避免嵌套的“询问”之后,我现在有了这段代码。它效率更高,但会创建太多链接。显然是逻辑错误,但我看不到。
globals
[ candidates
friends
]
to setup
clear-all
set friends 2
create-turtles 5000
set candidates turtles
make-network
end
to make-network
ask turtles
[ let new-links friends - count my-links
if new-links > 0
[ let chosen n-of min (list new-links count other candidates) other candidates
create-links-with chosen [ hide-link ]
set candidates other candidates
ask chosen [ if my-links = friends [ set candidates other candidates ] ]
] …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个应用程序来对始终采用相同(csv)格式的模拟结果数据集进行探索性分析:第一列包含运行编号,多列包含输入参数,一列包含时间步长,然后是几列包含感兴趣的值.输入参数和输出值的数量会发生变化,但分隔这些部分的列名始终相同.
典型数据如下:
[run number],capital,weekly,[step],report1
1,10000,100,0,0
1,10000,100,1,2
1,10000,100,2,3
1,10000,100,3,3
Run Code Online (Sandbox Code Playgroud)
我希望用户能够使用输入参数上的滑块选择要分析的模拟运行子集.这意味着我需要创建适当数量的滑块,每个参数输入一个.
我让它读取文件并提取变量名称,并正确列出变量.我也有一些代码可以使用我想要的所有变量(下面的代码中的inVarsChooser)来获得单个选择器,因此变量名称构造都是正确的.但我不能让它创建多个滑块(下面的代码中的restrictRun).
你的代码是:
library(shiny)
shinyUI(navbarPage("Test",
# Choose dataset and display variables
tabPanel("Input Data",
sidebarLayout(
sidebarPanel(
uiOutput("restrictRuns"),
br(),
htmlOutput("inVarsChooser")
),
mainPanel(
fileInput(inputId = "bsFilename",
label = "Load file (table format)",
accept=c('text/csv', 'text/comma-separated-values,text/plain',
'.csv'),
width = "800px"),
column(width = 6,
h4("Simulation parameters"),
htmlOutput("inVarsDisplay")
),
column(width = 6,
h4("Simulation reporters"),
htmlOutput("outVarsDisplay")
)
)
)
)
))
Run Code Online (Sandbox Code Playgroud)
服务器代码是:
library(shiny)
shinyServer(function(input, output, session) {
bsData <- reactive({
infile <- input$bsFilename
if (is.null(infile)){
return(NULL)
}
read.csv(infile$datapath, stringsAsFactors = …Run Code Online (Sandbox Code Playgroud) 我正在尝试生成 10 对图,每页图有几对,并使用循环for来构造这些图对。但是,这些图会作为单独的图而不是页面发送到设备。
下面的 MWE 对于基础图形和ggplot版本具有相同的结构,但基础图形可以工作,也ggplot可以不工作。我需要做什么才能使第二个版本中的分页正确?
library(ggplot2)
attach(mtcars)
# correct configuration
par(mfrow=c(2,2))
for (ii in 1:3){
vars <- c("wt", "disp", "wt")
plot(get(vars[ii]), mpg)
hist(get(vars[ii]))
}
# places each on separate plot
par(mfrow=c(2,2))
for (ii in 1:3){
vars <- c("wt", "disp", "wt")
p <- ggplot(mtcars, aes(get(vars[ii]), mpg)) + geom_point(size=4)
plot(p)
p <- ggplot(mtcars, aes(get(vars[ii]))) + geom_histogram()
plot(p)
}
detach(mtcars)
Run Code Online (Sandbox Code Playgroud) 底层数据集由传感器生成.每6秒钟,每个传感器发送一个信号,识别范围内的所有人(有FOB).无视人员,典型数据如下所示:
SensorID timestamp
2 2015-08-04 09:56:32
2 2015-08-04 09:56:38
2 2015-08-05 18:45:20
3 2015-08-04 09:54:33
3 2015-08-04 09:54:39
3 2015-08-04 09:57:31
3 2015-08-04 09:58:09
3 2015-08-04 09:58:15
3 2015-08-04 09:58:33
3 2015-08-04 09:58:39
Run Code Online (Sandbox Code Playgroud)
我想将此转换为具有开始和结束时间的事件,其中来自相同传感器(和fob)的连续信号被认为是相同事件的一部分,如果它们相隔小于60秒.
因此上述测试数据将转换为:
SensorID startTime endTime sensorCount duration
2 2015-08-04 09:56:32 2015-08-04 09:56:38 2 6 secs
2 2015-08-05 18:45:20 2015-08-05 18:45:20 1 0 secs
3 2015-08-04 09:54:33 2015-08-04 09:54:39 2 6 secs
3 2015-08-04 09:57:31 2015-08-04 09:58:39 5 68 secs
Run Code Online (Sandbox Code Playgroud)
我有适用的代码.
# identify the ends of sequences
lastKeep …Run Code Online (Sandbox Code Playgroud)