小编Max*_*nis的帖子

在R中拆分CamelCase

有没有办法在R中分割驼峰案例字符串?

我试过了:

string.to.split = "thisIsSomeCamelCase"
unlist(strsplit(string.to.split, split="[A-Z]") )
# [1] "this" "s"    "ome"  "amel" "ase" 
Run Code Online (Sandbox Code Playgroud)

split camelcasing r

11
推荐指数
3
解决办法
1508
查看次数

使用R中的工具提示绘制县级数据

我在美国县级网站www.betydb.org上看过一个互动的等值线图.我想使用R重现类似的地图.我只想要地图和工具提示(不是所有不同缩放级别的切片,或者切换地图的能力)

该地图目前在ruby中创建,弹出窗口(在左下角)查询MySQL数据库.编写它的程序员继续前进,我不熟悉Ruby.

地图

在这里,我将从一个csv文件开始.数据包括州和县名,州和县FIPS.我想情节Avg_yield.

mydata <- read.csv("https://www.betydb.org/miscanthus_county_avg_yield.csv")
colnames(mydata)
#  [1] "OBJECTID"    "Join_Count"  "TARGET_FID"  "COUNTY_NAME" "STATE_NAME"  "STATE_FIPS" 
#  [7] "CNTY_FIPS"   "FIPS"        "Avg_lat"     "Avg_lon"     "Avg_yield"  
Run Code Online (Sandbox Code Playgroud)

我可以使用googleVis包在州一级进行绘图

library(googleVis)
p <- gvisGeoChart(data = mydata, locationvar="STATE_NAME", colorvar = 'Avg_yield',
                  options= list(region="US", displayMode="regions", 
                  resolution="provinces"))
plot(p)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这提供了状态级着色.我的问题是,如何在县级(而不是州级)解决方案中使用颜色和工具提示来获得类似的内容?

gvisGeoChart帮助(下区和分辨率)和谷歌的图表记录表明,这是不可能的,但文档是如此广泛,目前尚不清楚是什么我的其他选项,内R.

那么,有没有办法在县级获得带有工具提示和着色的地图?

plot google-maps r tooltip

10
推荐指数
1
解决办法
1949
查看次数

Pandas:在尝试合并数据帧时出现“TypeError:只有整数标量数组可以转换为标量索引”

重命名 aDataFrame的列后,合并新列时出现错误:

import pandas as pd

df1 = pd.DataFrame({'a': [1, 2]})
df2 = pd.DataFrame({'b': [3, 1]})

df1.columns = [['b']]

df1.merge(df2, on='b')
Run Code Online (Sandbox Code Playgroud)

类型错误:只有整数标量数组可以转换为标量索引

python dataframe pandas

9
推荐指数
2
解决办法
1万
查看次数

如何更改ggplot2中条形图中的堆叠顺序?

在线条形图指南:

qplot(factor(cyl), data=mtcars, geom="bar", fill=factor(gear)) 
Run Code Online (Sandbox Code Playgroud)

barplot使用<code> ggplot2 </ code>的<code> qplot </ code>功能

如何让5个位于底部,4个位于底部,3个位于顶部?

r ggplot2

8
推荐指数
2
解决办法
3114
查看次数

在pandas,OOP类和dicts(Python)之间进行选择

我编写了一个程序,它读取了几个.csv文件(它们不大,每个都有几千行),我做了一些数据清理和争吵,这是每个.csv文件看起来的最终结构(假数据为仅用于说明目的).

import pandas as pd
data = [[112233, 'Rob', 99], [445566, 'John', 88]]
managers = pd.DataFrame(data)
managers.columns = ['ManagerId', 'ManagerName', 'ShopId']
print managers

   ManagerId ManagerName  ShopId
0     112233         Rob      99
1     445566        John      88


data = [[99, 'Shop1'], [88, 'Shop2']]
shops = pd.DataFrame(data)
shops.columns = ['ShopId', 'ShopName']
print shops

   ShopId ShopName
0      99    Shop1
1      88    Shop2

data = [[99, 2000, 3000, 4000], [88, 2500, 3500, 4500]]
sales = pd.DataFrame(data)
sales.columns = ['ShopId', 'Year2010', 'Year2011', 'Year2012']
print sales

   ShopId  Year2010 …
Run Code Online (Sandbox Code Playgroud)

python oop dictionary class pandas

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

如何计算两个加权样本之间的 Kolmogorov-Smirnov 统计量

假设我们有两个样本data1data2具有各自的权重weight1weight2并且我们想要计算两个加权样本之间的 Kolmogorov-Smirnov 统计量。

我们在python中这样做的方式如下:

import numpy as np

def ks_w(data1,data2,wei1,wei2):
    ix1=np.argsort(data1)
    ix2=np.argsort(data2)
    wei1=wei1[ix1]
    wei2=wei2[ix2]
    data1=data1[ix1]
    data2=data2[ix2]
    d=0.
    fn1=0.
    fn2=0.
    j1=0
    j2=0
    j1w=0.
    j2w=0.
    while(j1<len(data1))&(j2<len(data2)):
        d1=data1[j1]
        d2=data2[j2]
        w1=wei1[j1]
        w2=wei2[j2]
        if d1<=d2:
            j1+=1
            j1w+=w1
            fn1=(j1w)/sum(wei1)
        if d2<=d1:
            j2+=1
            j2w+=w2
            fn2=(j2w)/sum(wei2)
        if abs(fn2-fn1)>d:
            d=abs(fn2-fn1)
    return d
Run Code Online (Sandbox Code Playgroud)

我们只是根据我们的目的修改经典的双样本 KS 统计,如Press, Flannery, Teukolsky, Vetterling - Numerical Recipes in C - Cambridge University Press - 1992 - pag.626 中实施的那样

我们的问题是:

  • 有没有人知道任何其他方式来做到这一点?
  • python/R/* 中有没有执行它的库?
  • 考试怎么样?它是否存在,或者我们应该使用改组程序来评估统计数据吗?

python scipy kolmogorov-smirnov

8
推荐指数
2
解决办法
4359
查看次数

将pandas Data Frame附加到Google电子表格

案例:我的脚本返回一个数据框,需要将其作为新的数据行附加到现有的谷歌电子表格.截至目前,我通过gspread将数据框作为多个单行添加.

我的代码:

import gspread
import pandas as pd
df = pd.DataFrame()

# After some processing a non-empty data frame has been created.

output_conn = gc.open("SheetName").worksheet("xyz")

# Here 'SheetName' is google spreadsheet and 'xyz' is sheet in the workbook

for i, row in df.iterrows():
    output_conn.append_row(row)
Run Code Online (Sandbox Code Playgroud)

有没有办法追加整个数据框而不是多个单行?

python pandas gspread

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

落后于data.table R.

目前,我有一个效用函数lags的东西data.table按组.功能很简单:

panel_lag <- function(var, k) {
  if (k > 0) {
    # Bring past values forward k times
    return(c(rep(NA, k), head(var, -k)))
  } else {
    # Bring future values backward
    return(c(tail(var, k), rep(NA, -k)))
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我可以从data.table:

x = data.table(a=1:10, 
               dte=sample(seq.Date(from=as.Date("2012-01-20"),
                                   to=as.Date("2012-01-30"), by=1),
                          10))
x[, L1_a:=panel_lag(a, 1)]  # This won't work correctly as `x` isn't keyed by date
setkey(x, dte)
x[, L1_a:=panel_lag(a, 1)]  # This will
Run Code Online (Sandbox Code Playgroud)

这要求我检查内部panel_lag是否x有键.有没有更好的方法来做滞后?这些表往往很大,所以它们应该真正被键入.我迟到setkey之前就做了.我想确保我不会忘记关键.所以我想知道人们是否有这样的标准方式.

r data.table

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

如何将CamelCase转换为R中的not.camel.case

在R中,我想转换

c("ThisText", "NextText")
Run Code Online (Sandbox Code Playgroud)

c("this.text", "next.text")
Run Code Online (Sandbox Code Playgroud)

这是反向这个SO问题,和同为这一个,但与R中的点,而不是在下划线PHP.

r

7
推荐指数
2
解决办法
1369
查看次数

圆数向量的数字到整数,同时保留他们的总和

如何在保留总和的同时将浮点数舍入为整数?具有以伪代码写的下面的答案,伪代码将向量舍入为整数值,使得未改变的元素和舍入误差的总和最小化.我想在R中有效地实现这一点(如果可能的话,矢量化).

例如,舍入这些数字会产生不同的总数:

set.seed(1)
(v <- 10 * runif(4))
# [1] 2.655087 3.721239 5.728534 9.082078
(v <- c(v, 25 - sum(v)))
# [1] 2.655087 3.721239 5.728534 9.082078 3.813063
sum(v)
# [1] 25
sum(round(v))
# [1] 26
Run Code Online (Sandbox Code Playgroud)

答案中复制伪代码以供参考

// Temp array with same length as fn.
tempArr = Array(fn.length)

// Calculate the expected sum.
arraySum = sum(fn)

lowerSum = 0
-- Populate temp array.
for i = 1 to fn.lengthf
    tempArr[i] = { result: floor(fn[i]),              // Lower …
Run Code Online (Sandbox Code Playgroud)

r rounding

7
推荐指数
2
解决办法
2721
查看次数