小编lok*_*art的帖子

计算每行的累计总和

我试图使用以下代码计算每行的累积总和:

df <- data.frame(count=1:10)

for (loop in (1:nrow(df)))
    {df[loop,"acc_sum"] <- sum(df[1:loop,"count"])}
Run Code Online (Sandbox Code Playgroud)

但我不喜欢这里的显式循环,我该如何修改呢?

r

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

更改R的时间区域设置

这是我的 sessionInfo()

R version 2.14.0 (2011-10-31)
Platform: i386-pc-mingw32/i386 (32-bit)

locale:
[1] LC_COLLATE=Chinese (Traditional)_Hong Kong S.A.R..950 
[2] LC_CTYPE=Chinese (Traditional)_Hong Kong S.A.R..950   
[3] LC_MONETARY=Chinese (Traditional)_Hong Kong S.A.R..950
[4] LC_NUMERIC=C                                          
[5] LC_TIME=Chinese (Traditional)_Hong Kong S.A.R..950    

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

loaded via a namespace (and not attached):
[1] tools_2.14.0
Run Code Online (Sandbox Code Playgroud)

我尝试使用Sys.setlocale("LC_TIME", "en_US.UTF-8")转换输出日期,但它给了我这个错误:

> Sys.setlocale("LC_TIME", "en_US.UTF-8")
[1] ""
Warning message:
In Sys.setlocale("LC_TIME", "en_US.UTF-8") :
  OS reports request to set locale to "en_US.UTF-8" cannot be honored
Run Code Online (Sandbox Code Playgroud)

我想知道为什么,我该怎么办?谢谢.

time locale r

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

在R中的选定列中将所有NA替换为FALSE

我有类似的问题这一个,但我的数据集是有点大:50列与1列UID等栏目,无论是携带TRUE还是NA,我想改变一切NAFALSE,但我不希望使用显式循环.

可以plyr做到的伎俩?谢谢.

更新#1

感谢您的快速回复,但如果我的数据集如下所示:

df <- data.frame(
  id = c(rep(1:19),NA),
  x1 = sample(c(NA,TRUE), 20, replace = TRUE),
  x2 = sample(c(NA,TRUE), 20, replace = TRUE)
)
Run Code Online (Sandbox Code Playgroud)

我只想要X1X2被处理,如何做到这一点?

r missing-data dataframe na imputation

18
推荐指数
3
解决办法
3万
查看次数

R%*%运算符

这是什么?我无法通过使用找到帮助?.(抱歉愚蠢)

> 1%*%1
     [,1]
[1,]    1
> 10%*%10
     [,1]
[1,]  100
> c(1:2)%*%c(1:2)
     [,1]
[1,]    5
Run Code Online (Sandbox Code Playgroud)

r

18
推荐指数
3
解决办法
8030
查看次数

强制ggplot2 y轴标签仅为整数,并给出适当的中断

我正在绘制离散数据的条形图,ggplot默认为我调整y轴,但是给我y轴标签,间隔为0.5,我不喜欢它.我试过scale_y_discrete但是每个离散值都给出了y轴断点,这也不好.

我可以强制y轴断点仅由整数组成,并为每个刻面提供适当的断点吗?

示例脚本如下:

set.seed(1)
chart.data <- data.frame(x=rep(LETTERS[1:10],3),
                         y=c(sample(0:10,10,replace=TRUE),
                             sample(0:100,10,replace=TRUE),
                             sample(0:1000,10,replace=TRUE)),
                         group=sort(rep(1:3,10)))
chart <- ggplot(data=chart.data,aes(x=x,y=y))
chart <- chart + geom_bar(stat="identity")
chart <- chart + scale_y_discrete()
chart <- chart + facet_wrap(facets=~group,nrow=1,scale="free_y")
Run Code Online (Sandbox Code Playgroud)

更新#1

由于该帖子被认为可能重复,因此该脚本被细化以显示更复杂的场景.

r ggplot2

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

调整连续变量的图例宽度

我在下面有一个脚本来说明我的问题:

temp.df <- data.frame(x=1:100,y=1:100,z=1:100,stringsAsFactors=FALSE)
chart <- ggplot(data=temp.df,aes(x=x,y=y))
chart <- chart + geom_line(aes(colour=z))
chart <- chart + scale_colour_continuous(low="blue",high="red")
chart <- chart + theme(legend.position="bottom")
# so far so good, but I think the legend positioned at bottom with such a small size is a waste of space, so I want to "widen" it using the line below...
chart <- chart + guides(colour=guide_legend(keywidth=5,label.position="bottom"))
# oops, it changed to legend for categorical variable
Run Code Online (Sandbox Code Playgroud)

如何加宽位于底部的"连续变量"图例?

r legend ggplot2

15
推荐指数
2
解决办法
6535
查看次数

从R中的glm中提取系数

我已经进行了逻辑回归,结果如下:

ssi.logit.single.age["coefficients"]
# $coefficients
#  (Intercept)          age 
# -3.425062382  0.009916508 
Run Code Online (Sandbox Code Playgroud)

我需要拿起系数age,目前我使用以下代码:

ssi.logit.single.age["coefficients"][[1]][2]
Run Code Online (Sandbox Code Playgroud)

它有效,但我不喜欢这里的神秘代码,我可以使用系数的名称(即(Intercept)age)

r list

14
推荐指数
2
解决办法
3万
查看次数

使用正则表达式为Pandas重命名数据框中的列

我有一个由Pandas制作的数据框,我想删除每个列名末尾的空白区域.我尝试过类似的东西:

raw_data.columns.values = re.sub(' $','',raw_data.columns.values)
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我在这里做错了什么?

python regex pandas

14
推荐指数
3
解决办法
7173
查看次数

Stata的替代IDE

我已经习惯了R-studio for R,它有一些功能,例如猜测你要键入的功能,按下TAB.

但是,我找不到Stata的任何集成开发环境(IDE).

有吗?

stata

13
推荐指数
4
解决办法
5453
查看次数

使用notepad ++创建django函数时出现"意外缩进"错误

我正在按照本书学习使用notepad ++的django,当我使用notepad ++为以下脚本键入函数时,会发生一些有趣的事情:

def current_datetime(request):
    now = datetime.datetime.now()
    html = "<html><body>It is now %s.</body></html>" % now
    return HttpResponse(html)
Run Code Online (Sandbox Code Playgroud)

它给我一个这样的错误:

IndentationError at /time/

('unexpected indent', ('M:\\DjangoStack\\projects\\beta_01\\..\\beta_01\\hello_world\\views.py', 12, 1, '\thtml = "<html>"\n'))
Run Code Online (Sandbox Code Playgroud)

但是当我直接从书中粘贴它时,没关系.我想知道为什么,我应该在notepad ++中做一些设置吗?谢谢.

更新01

我用来4 space bars在记事本++中创建缩进,我试过1 tab,似乎问题是固定的

python django notepad++ indentation

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