小编epo*_*po3的帖子

将函数应用于data.frame中的每一行,并将结果附加到R中的data.frame

看来我应该知道如何做到这一点,或者至少在这里或其他地方找到答案.不幸的是两者都没有用

我有一个客户数据框,其中一列是他们的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)

谢谢您的帮助.

r function apply dataframe

8
推荐指数
1
解决办法
3799
查看次数

ggplot2中的topoplot - 例如EEG数据的2D可视化

可以ggplot2用来产生一个所谓的topoplot(经常用于神经科学)?

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)

完整的样本数据.

行代表单个电极.列xy表示投影到2D空间中,列signal基本上是z轴,表示在给定电极处测量的电压.

stat_contour 不起作用,显然是由于网格不平等.

geom_density_2d只提供的密度估计xy.

geom_raster 是不适合这项任务的,或者我必须错误地使用它,因为它很快就会耗尽内存.

不需要平滑(如右图所示)和头部轮廓(鼻子,耳朵).

我想避免使用Matlab并转换数据,以便它适合这个或那个工具箱......非常感谢!

更新(2016年1月26日)

我能够达到目标的最接近的是通过

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)

产生这样的图像:

在此输入图像描述

更新2(2016年1月27日)

我已经尝试了@ alexforrence的完整数据方法,这就是结果:

@ alexforrence的方法

这是一个很好的开始,但有几个问题:

  1. 最后一次调用(ggplot())在Intel i7 4790K上大约需要40秒,而Matlab工具箱几乎可以立即生成这些内容.我上面的'紧急解决方案'需要大约一秒钟.
  2. 正如你所看到的,中央部分的上边界和下边界似乎是"切片" - 我不确定是什么导致这种情况,但它可能是第三个问题.
  3. 我收到这些警告:

    1: Removed 170235 …
    Run Code Online (Sandbox Code Playgroud)

r neuroscience ggplot2 eeglab

8
推荐指数
1
解决办法
2287
查看次数

计算R中的频率

这是我的数据

> 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)

r frequency r-factor

7
推荐指数
1
解决办法
1090
查看次数

从python实现R包TSdist

我正在尝试从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包的时间序列相似性.在上述方法这个文件.

python r time-series rpy2 jupyter-notebook

7
推荐指数
1
解决办法
324
查看次数

在 pymnet 中修改多层网络图

我想使用pymnet可视化多层网络。包文档中的示例显示了如何绘制多层网络(下图的左侧),但我想添加另一个层(橙色),该层将显示在与蓝色层相似的级别。我知道如何添加另一层,但它会在蓝色层之上。我需要的是我当前情节旁边的一个图层。

可以使用以下方法创建原始图:

from pymnet import *
fig=draw(er(10,3*[0.4]),layout="spring")
Run Code Online (Sandbox Code Playgroud)

这就是我想要得到的:

在此处输入图片说明

有没有办法在pymnet 中实现它?如果没有,是否有另一个包可以绘制此图?

python visualization network-analysis pymnet

7
推荐指数
1
解决办法
995
查看次数

跳过read.csv中所有前导空行

我希望将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)

这意味着一开始就有一些逗号.

import r read.csv

6
推荐指数
1
解决办法
9406
查看次数

R中使用IBrokers的支架订单中的多个数量

我正在使用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)

r trading ibrokers

6
推荐指数
1
解决办法
386
查看次数

在 DT 中舍入货币格式的数字

我正在尝试以货币格式获取数字,然后对它们进行四舍五入,但是我从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)

但我收到以下错误: …

formatting r dt

6
推荐指数
1
解决办法
6348
查看次数

如何指向R包中的目录?

我正在尝试编写R包.我正在从硬盘加载一个csv文件,我希望以后将我的R代码和我的csv文件捆绑到一个包中.

我的问题是如何在生成pakage时加载我的csv文件,我的意思是现在我的文件地址类似于c:\ R\mydirectory ....\myfile.csv但是在我发送给别人之后怎么可以我有一个该文件的相对地址?

如果其他人不清楚,请随意更正此问题!

r r-package

5
推荐指数
1
解决办法
2255
查看次数

我想检查 url 是否重定向到 R 中的另一个页面

我需要检查 url 是否重定向到 R 中的另一个页面。这可能吗?

url r http

5
推荐指数
1
解决办法
1476
查看次数