看来我应该知道如何做到这一点,或者至少在这里或其他地方找到答案.不幸的是两者都没有用
我有一个客户数据框,其中一列是他们的id,另一列是他们的完整地址.我想为每一行添加3列,其中包含来自地理编码查找的lat,long和county代码.
该数据框看起来像
customer_id fulladdress
1 123 Main St., Anywhere, FL
2 321 Oak St., Thisplace, CA
Run Code Online (Sandbox Code Playgroud)
我创建了一个地理编码函数,它接受完整的地址并返回一个带有lat,long和county列的数据框.
如何将我的地理编码功能应用于数据框的每一行,并将结果作为3列附加到现有数据框中,使其如下所示:
customer_id fulladdress lat long county
1 123 Main St., Anywhere, FL 33.2345 -92.3333 43754
2 321 Oak St., Thisplace, CA 25.3333 -120.333 32960
Run Code Online (Sandbox Code Playgroud)
我尝试过使用apply和ddply,但我似乎无法弄清楚其中一个人在做什么.我用ddply尝试了这个,但它所做的只是让我回到原始数据框架.
ddply(customers[1:3,], .(fulladdress), function(x) { geocode(x$fulladdress)})
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
可以ggplot2用来产生一个所谓的topoplot(经常用于神经科学)?
样本数据:
label x y signal
1 R3 0.64924459 0.91228430 2.0261520
2 R4 0.78789621 0.78234410 1.7880972
3 R5 0.93169511 0.72980685 0.9170998
4 R6 0.48406513 0.82383895 3.1933129
Run Code Online (Sandbox Code Playgroud)
行代表单个电极.列x和y表示投影到2D空间中,列signal基本上是z轴,表示在给定电极处测量的电压.
stat_contour 不起作用,显然是由于网格不平等.
geom_density_2d只提供的密度估计x和y.
geom_raster 是不适合这项任务的,或者我必须错误地使用它,因为它很快就会耗尽内存.
不需要平滑(如右图所示)和头部轮廓(鼻子,耳朵).
我想避免使用Matlab并转换数据,以便它适合这个或那个工具箱......非常感谢!
我能够达到目标的最接近的是通过
library(colorRamps)
ggplot(channels, aes(x, y, z = signal)) + stat_summary_2d() + scale_fill_gradientn(colours=matlab.like(20))
Run Code Online (Sandbox Code Playgroud)
产生这样的图像:
我已经尝试了@ alexforrence的完整数据方法,这就是结果:
这是一个很好的开始,但有几个问题:
ggplot())在Intel i7 4790K上大约需要40秒,而Matlab工具箱几乎可以立即生成这些内容.我上面的'紧急解决方案'需要大约一秒钟.我收到这些警告:
1: Removed 170235 …Run Code Online (Sandbox Code Playgroud)这是我的数据
> a
[1] Male Male Female Male Male Male Female Female Male Male Female Male Male Male
[15] Female Female Female Male Female Male Female Male Male Female Male Male Female Male
[29] Male Male Female Male Male Male Female Female Male Male Male Male Male
Levels: Female Male
> b
[1] 0 1 0 1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 0 1 0 0 0 1 1 1 …Run Code Online (Sandbox Code Playgroud) 我正在尝试从python jupyter notebook 实现R包TSdist.
import rpy2.robjects.numpy2ri
from rpy2.robjects.packages import importr
rpy2.robjects.numpy2ri.activate()
R = rpy2.robjects.r
## load in package
TSdist = importr('TSdist')
## t,c are two series
dist = TSdist.ERPDistance(t.values,c.values,g=0,sigma =30)
## dist is a R Boolean vector with one value
dist[0]
Run Code Online (Sandbox Code Playgroud)
这给了我一个NA,我得到了一个警告:
/usr/lib64/python3.4/site-packages/rpy2/rinterface/ init .py:186:RRuntimeWarning:错误:该系列必须是单变量向量
warnings.warn(x,RRuntimeWarning)
有关如何正确实施它的任何想法?或者如何使用离散傅立叶变换(DFT),自回归系数,编辑实际序列上的距离(EDR)来测量与python包的时间序列相似性.在上述方法这个文件.
我想使用pymnet可视化多层网络。包文档中的示例显示了如何绘制多层网络(下图的左侧),但我想添加另一个层(橙色),该层将显示在与蓝色层相似的级别。我知道如何添加另一层,但它会在蓝色层之上。我需要的是我当前情节旁边的一个图层。
可以使用以下方法创建原始图:
from pymnet import *
fig=draw(er(10,3*[0.4]),layout="spring")
Run Code Online (Sandbox Code Playgroud)
这就是我想要得到的:
有没有办法在pymnet 中实现它?如果没有,是否有另一个包可以绘制此图?
我希望将csv文件导入R,第一个非空行提供数据框列的名称.我知道你可以提供skip = 0参数来指定首先读取哪一行.但是,第一个非空行的行号可以在文件之间更改.
我如何计算出多少行为空,并为每个文件动态跳过它们?
正如评论中指出的那样,我需要澄清"空白"的含义.我的csv文件看起来像:
,,,
w,x,y,z
a,b,5,c
a,b,5,c
a,b,5,c
a,b,4,c
a,b,4,c
a,b,4,c
Run Code Online (Sandbox Code Playgroud)
这意味着一开始就有一些逗号.
我正在使用R中的ibrokers软件包,我正在尝试为交易设置多个收盘价.例如,以106美元的价格购买100股AAPL,以107美元的价格卖出50股,以108美元的价格卖出50股,止损价为105美元.
当我发送多个获利订单时,似乎忽略了50的数量,而是我得到两个卖单,每个100股.
这是我正在运行的代码
tws <- twsConnect()
stock <- twsEquity("AAPL")
parentLongId <- reqIds(tws)
parentLongOrder <- twsOrder(parentLongId, action="BUY", totalQuantity = 100,
orderType = "LMT", lmtPrice = 106,
transmit=TRUE)
placeOrder(tws, stock, parentLongOrder)
childLongProfitId <- reqIds(tws)
childLongProfitOrder <- twsOrder(childLongProfitId, action="SELL", totalQuantity = 50,
orderType = "LMT", lmtPrice = 107,
transmit=TRUE, parentId = parentLongId)
placeOrder(tws, stock, childLongProfitOrder)
childLongProfitId2 <- reqIds(tws)
childLongProfitOrder2 <- twsOrder(childLongProfitId2, action="SELL", totalQuantity = 50,
orderType = "LMT", lmtPrice = 108,
transmit=TRUE, parentId = parentLongId)
placeOrder(tws, stock, childLongProfitOrder2)
childLongStopId <- reqIds(tws)
childLongStopOrder <- …Run Code Online (Sandbox Code Playgroud) 我正在尝试以货币格式获取数字,然后对它们进行四舍五入,但是我从DT(v 0.1) 中得到了意外的行为。
我想要的值看起来像808084.227872401成£808,084.2
这是代码:
library(DT)
m <- structure(list(A = c(808084.227872401, 1968554.9592654, 751271.053745238,
-248530.769710688, 1022891.09543523, -407303.626363765), B = c(143073.342325492,
-1440469.87343229, -590080.736184761, -608299.78907882, 1167155.65688074,
803870.898483576), C = c(-447086.9382469, 606572.488852836, 89371.3745637198,
-1496047.6143101, -410103.544644035, 1106358.3287006), D = c(0.754009573487565,
0.364774209912866, 0.525769896339625, 0.44853704655543, 0.909551323624328,
0.439131782157347), E = c(98.8604132297185, 98.9055931760521,
99.3795062166865, 98.5895350315005, 101.194549174315, 102.325111315431
)), .Names = c("A", "B", "C", "D", "E"), row.names = c(NA, -6L
), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
根据文档,这应该有效:
datatable(m) %>% formatCurrency("A", "£", digits = 1)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误: …
我正在尝试编写R包.我正在从硬盘加载一个csv文件,我希望以后将我的R代码和我的csv文件捆绑到一个包中.
我的问题是如何在生成pakage时加载我的csv文件,我的意思是现在我的文件地址类似于c:\ R\mydirectory ....\myfile.csv但是在我发送给别人之后怎么可以我有一个该文件的相对地址?
如果其他人不清楚,请随意更正此问题!