我试图使用以下代码计算每行的累积总和:
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)
但我不喜欢这里的显式循环,我该如何修改呢?
这是我的 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)
我想知道为什么,我该怎么办?谢谢.
我有类似的问题这一个,但我的数据集是有点大:50列与1列UID等栏目,无论是携带TRUE还是NA,我想改变一切NA到FALSE,但我不希望使用显式循环.
可以plyr做到的伎俩?谢谢.
感谢您的快速回复,但如果我的数据集如下所示:
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)
我只想要X1和X2被处理,如何做到这一点?
这是什么?我无法通过使用找到帮助?.(抱歉愚蠢)
> 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) 我正在绘制离散数据的条形图,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)
由于该帖子被认为可能重复,因此该脚本被细化以显示更复杂的场景.
我在下面有一个脚本来说明我的问题:
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)
如何加宽位于底部的"连续变量"图例?
我已经进行了逻辑回归,结果如下:
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)
我有一个由Pandas制作的数据框,我想删除每个列名末尾的空白区域.我尝试过类似的东西:
raw_data.columns.values = re.sub(' $','',raw_data.columns.values)
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我在这里做错了什么?
我已经习惯了R-studio for R,它有一些功能,例如猜测你要键入的功能,按下TAB.
但是,我找不到Stata的任何集成开发环境(IDE).
有吗?
我正在按照本书学习使用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 ++中做一些设置吗?谢谢.
我用来4 space bars在记事本++中创建缩进,我试过1 tab,似乎问题是固定的