小编Ric*_*rta的帖子

python3.0上的setuptools

我试图为python3.0安装"setuptool"包.但不幸的是,当我尝试安装它时,模块名称"dist"丢失了.请帮我解决这个问题.


编辑于2013年3月:

请查看@LennartRegebro提供的更新时间响应的接受答案

setuptools python-3.x

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

`level`上的`setattr`保留不需要的重复项(R data.table)

关键问题:使用setattr更改级别名称,保留不需要的重复项.

我正在清理一些数据,其中我有sevearl因子水平,所有这些都是相同的,显示为两个或更多不同的水平.(此错误主要是由于拼写错误和文件编码问题)我有153K因素,需要更正5%.

在以下示例中,向量具有三个级别,其中两个级别需要折叠为一个级别.

  incorrect <- factor(c("AOB", "QTX", "A_B"))   # this is how the data were entered
  correct   <- factor(c("AOB", "QTX", "AOB"))   # this is how the data *should* be

  > incorrect
  [1] AOB QTX A_B
  Levels: A_B AOB QTX   <~~ Note that "A_B" should be "AOB"

  > correct
  [1] AOB QTX AOB
  Levels: AOB QTX
Run Code Online (Sandbox Code Playgroud)

向量是a的一部分data.table.
使用该levels<-功能更改级别名称时,一切正常.
但是,如果使用setattr,则会保留不需要的重复项.

mydt1 <- data.table(id=1:3, incorrect, key="id")
mydt2 <- data.table(id=1:3, incorrect, key="id")



# assigning levels, …
Run Code Online (Sandbox Code Playgroud)

r duplicate-removal data.table

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

正则表达式 \x96 类似字符

我在包含字符的数据集中有几个字符串

\x96
\x92
Run Code Online (Sandbox Code Playgroud)

和别的。

我不知道如何在 R 中为它们 grep。
我试过使用

pattern="\x96"
pattern="\\x96"
pattern="x96"
Run Code Online (Sandbox Code Playgroud)

但无济于事。

是否有处理此类字符的特定方法,特别是在 R 中。


** 更新 ** 根据评论中的建议,perl=TRUE允许 grep 工作

任何人都可以对正在发生的事情提供可靠的解释吗?

会话信息,如果相关

> sessionInfo()
R version 2.15.2 (2012-10-26)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C         LC_TIME=C            LC_COLLATE=C         LC_MONETARY=C        LC_MESSAGES=C        LC_PAPER=C           LC_NAME=C            LC_ADDRESS=C        
[10] LC_TELEPHONE=C       LC_MEASUREMENT=C     LC_IDENTIFICATION=C 

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ggplot2_0.9.3    RMySQL_0.9-3     DBI_0.2-5        stringr_0.6.1    data.table_1.8.6
Run Code Online (Sandbox Code Playgroud)

regex r special-characters

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

修改引号的auto_match,为Sublime Text 2添加一个额外的引用字符

Sublime Text 2非常有用地关闭了我的所有引号.
是否可以修改它使用的字符?

例如,如果我想在列表中添加`backticks`.


@skuroda的答案非常有用.在Mac OSX上,转到

Sublime Text 2 > Preferences > Key Bindings - User

并在那里粘贴文本.确保它最终包裹在[...](方括号)中.

autocomplete sublimetext2

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

数据表中"j"中新添加的列应该在范围内可用

我有这个代码:

dat<-dat[,list(colA,colB
                     ,RelativeIncome=Income/.SD[Nation=="America",Income]
                     ,RelativeIncomeLog2=log2(Income)-log2(.SD[Nation=="America",Income])) #Read 1)
               ,by=list(Name,Nation)]
Run Code Online (Sandbox Code Playgroud)

1)我想说"RelativeIncomeLog2=log2(RelativeIncome)",但是 "RelativeIncome"j范围内是不可用的?

2)我尝试了以下代码(根据data.table FAQ).现在"RelativeIncome"可用,但它不添加列:

     dat<-dat[,{colA;colB;RelativeIncome=Income/.SD[Nation=="America",Income];
               ,RelativeIncomeLog2=log2(RelativeIncome)])) 
               ,by=list(Name,Nation)]
Run Code Online (Sandbox Code Playgroud)

r data.table

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

强制除以零默认为NaN而不是Inf

我想知道是否可能有一个设置我忽略强制R返回NaN而不是± Inf除以零.

我经常发现自己在做类似的事情

 results[is.infinite(results)] <- NaN
Run Code Online (Sandbox Code Playgroud)

我希望完全跳过过滤/搜索过程.


例:

### Example:

num <- c(1:5, NA)
denom <- -2:3

quotient <- num / denom
[1] -0.5 -2.0  Inf  4.0  2.5   NA

# desired results
[1] -0.5 -2.0  NaN  4.0  2.5   NA
Run Code Online (Sandbox Code Playgroud)

实现预期结果的简单方法是:

quotient[is.infinite(quotient)] <- NaN
Run Code Online (Sandbox Code Playgroud)

我想知道的是,如果最后一步可以避免,同时仍然得到相同的预期结果.

r division divide-by-zero

5
推荐指数
2
解决办法
2052
查看次数

在R Shiny Server中样式化或格式化文本

我有一个在闪亮的服务器上运行的应用程序,我想格式化小部分文本,而无需管理整个页面的css/html.

简单的例子:

ui.r,我有一些帮助文本,我想风格化.

sidebarPanel(
 ...
 , helpText("<I>Can</I> <em>this</em> <strong>happen</strong>?")
 )
Run Code Online (Sandbox Code Playgroud)

这使:

# Current Output: 
<I>Can</I> <em>this</em> <strong>happen</strong>?
Run Code Online (Sandbox Code Playgroud)

#desired输出:
可以 这样 发生

文本(可以理解地)呈现为文字字符串.
是否有强制HTML解析的函数或命令?

html r shiny shiny-server

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

调整ggplot2中轴文本的"边距"空间

哪个属性(如果有)ggplot控制轴文本
宽度(或空白空间量)?


在下面的示例中,我的最终目标是"推入"顶部图形的左侧,使其与底部图形对齐.

我试过了,theme(plot.margin=..)但这影响了整个情节的边缘.
facet因为y上的比例不同,所以也没有帮助.

作为最后的手段,我意识到我可以修改轴文本本身,但是我还需要计算每个图形的切割.

在此输入图像描述

可重复的例子:

library(ggplot2)
library(scales)

D <- data.frame(x=LETTERS[1:5],  y1=1:5, y2=1:5 * 10^6)

P.base <- ggplot(data=D, aes(x=x)) + 
            scale_y_continuous(labels=comma)

Plots <- list(
    short = P.base + geom_bar(aes(y=y1), stat="identity", width=.5)
  , long  = P.base + geom_bar(aes(y=y2), stat="identity", width=.5) 
  )

do.call(grid.arrange, c(Plots, ncol=1, main="Sample Plots"))
Run Code Online (Sandbox Code Playgroud)

r ggplot2 gridextra grob

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

告诉ggplot不要缩放alpha

我想使用alpha级别的显式值.

head(D)

    x  y group  alpha
  1 1 18     A   0.40   <~~~~
  2 2 18     A   0.44
  3 3 18     A   0.47
  4 1 18     A   0.51
  5 2 21     B   0.55
  6 3 21     B   0.58
  ...
Run Code Online (Sandbox Code Playgroud)

但是,ggplot正在缩放alpha级别.我可以使用覆盖它scale_alpha_continuous(range=range(D$alpha)),但是在以编程方式创建图形时这会成为一种不可避免的现象.

是否有直接的方法告诉ggplot不要缩放alpha?(而不是告诉它要缩放到哪个范围)

在此输入图像描述

可重复的例子

library(ggplot)
library(gridExtra)
(D <- data.frame(x=rep(1:3, 4), y=rep((6:8)*3, each=4), group=rep(c("A","B", "C"), each=4),  alpha=round(seq(.4, .8, length.out=12), 2)))

P <- ggplot(data=D, aes(x=x, y=y, alpha=alpha)) + geom_bar(stat="identity", fill="blue") + theme(legend.position="bottom") + facet_grid(group ~. )

### Adding  scale_alpha_continuous
P.manually_scaled <- P …
Run Code Online (Sandbox Code Playgroud)

alpha r ggplot2

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

用于保留案例模式,大写的正则表达式

是否有一个正则表达式来保留案例模式\U\L

在下面的示例中,我想转换"date""month"同时保持使用的大小写input

   from        to
  "date" ~~> "month"
  "Date" ~~> "Month"
  "DATE" ~~> "MONTH"
Run Code Online (Sandbox Code Playgroud)

我目前使用三个嵌套调用sub来完成此任务.

input <- c("date", "Date", "DATE")
expected.out <- c("month", "Month", "MONTH")

sub("date", "month", 
  sub("Date", "Month", 
    sub("DATE", "MONTH", input)
  )
)
Run Code Online (Sandbox Code Playgroud)

我们的目标是有一个单一的pattern和一个replace

gsub("(date)", "\\Umonth", input, perl=TRUE) 
Run Code Online (Sandbox Code Playgroud)

这将产生所需的输出

regex r

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