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语句,上面的代码失败了.
我知道你可以通过内置函数来做到这一点,并且更喜欢这种解决方案.有人有任何见解吗?
我正在创建两个图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的问题
我有一堆列被读取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) 如果我执行以下命令
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,也不想融合数据。有没有办法做到这一点?