小编vas*_*s85的帖子

计算连续的字符

EDITED 如何计算Python中的连续字符,以查看每个唯一数字在下一个唯一数字之前重复的次数?我对这种语言很陌生,所以我正在寻找一些简单的东西.

起初我以为我可以这样做:

word = '1000'

counter=0
print range(len(word))


for i in range(len(word)-1):
    while word[i]==word[i+1]:
        counter +=1
        print counter*"0"
    else:
        counter=1
        print counter*"1"
Run Code Online (Sandbox Code Playgroud)

因此,通过这种方式,我可以看到每个唯一数字重复的次数.但是当i达到最后一个值时,这当然会超出范围.

在上面的例子中,我希望Python告诉我1重复1,并且0重复3次.但是,由于我的while语句,上面的代码失败了.

我知道你可以通过内置函数来做到这一点,并且更喜欢这种解决方案.有人有任何见解吗?

python

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

ggplot2和第一个数据点在一行

我正在创建两个图ggplot2,然后使用grid.arrange它们将它们合并在一起.我应该说这两个图也facet_grid用于视觉调整.

在此输入图像描述

我的问题是,底部的情节,实际上是一个数据表,最终在左侧和右侧被"切断",因为小平面的起始位置和结束位置.有没有办法让我调整一下?我想调整一下,所以积分不会被切断.

以下是重现它的数据:

   df <- structure(list(SurveyID = c(16L, 16L, 16L, 16L, 16L, 16L, 16L, 
16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 
16L, 16L, 16L, 16L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 
26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 26L, 
26L, 26L, 47L, 47L, 47L, 47L, 47L, 47L, 47L, 47L, 47L, 47L, 47L, 
47L, 47L, 47L, 47L, 47L, 47L, 47L, 47L, …
Run Code Online (Sandbox Code Playgroud)

r facet ggplot2

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

R:将百分比数据框从因子转换为数字

遇到将数据帧转换为R的问题

我有一堆列被读取factors并带有%符号.

我知道我可以做一个专栏:

df[,3] <- as.numeric(sub("%","",df[,3]))
Run Code Online (Sandbox Code Playgroud)

但是尝试将其应用于整个数据集似乎不起作用并将所有值更改为NA.我究竟做错了什么?这是我试图使用的代码:

df[,-1] <- as.numeric(sub("%","",df[,-1]))
Run Code Online (Sandbox Code Playgroud)

编辑:我知道我可以解决这个问题:

for (i in 2:66) {
df[,i] <- as.numeric(sub("%","",df[,i]))
print(class(df[,i]))
}
Run Code Online (Sandbox Code Playgroud)

但必须有更优雅(并且希望是单行)的方式来做到这一点.

编辑2:这是一些数据:

    Year        v1      v2       v3       v4
1 12-Oct        0%      0%      39%      14%
2 12-Nov        0%      6%      59%       4%
3 12-Dec       22%      0%      37%      26%
4 13-Jan       45%      0%      66%      19%
5 13-Feb       28%     39%      74%      13%
Run Code Online (Sandbox Code Playgroud)

回答:在你们帮助了我之后,我在一个命令中就是这样做的!我在指定功能部分时遇到了问题.

df=read.csv("all response rates.csv")
df[-1]<-data.frame(apply(df[-1], 2, function(x) 
    as.numeric(sub("%","",as.character(x)))))
Run Code Online (Sandbox Code Playgroud)

r

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

ggplot条形图百分比组

如果我执行以下命令

data(mtcars)
ggplot(data=mtcars, aes(cyl))+
  geom_bar(aes(fill=as.factor(gear), y = (..count..)/sum(..count..)), position="dodge") + 
  scale_y_continuous(labels=percent)
Run Code Online (Sandbox Code Playgroud)

我会得到 在此处输入图片说明

但是,我真正想做的是使每个gear级别的总和达到100%。所以,gear是我正在查看的子组,我想知道每个组内的分布。

我不想使用facets,也不想融合数据。有没有办法做到这一点?

charts r ggplot2

0
推荐指数
2
解决办法
6629
查看次数

标签 统计

r ×3

ggplot2 ×2

charts ×1

facet ×1

python ×1