小编Ein*_*nor的帖子

如何使用ddply计算数据框中每个单元格的百分比?

我的猜测是使用ddply很容易,但我仍然是R的新手,无法理解它.

我有一个看起来像这样的data.frame

txt <- "label var1 var2 var3 var4 var5 var6 var7
lab1 401 80 57 125 118 182 83
lab2 72 192 80 224 182 187 178
lab3 7 152 134 104 105 80 130
lab4 3 58 210 30 78 33 87
lab5 1 2 3 1 1 2 6"

mydata <- read.table(textConnection(txt), sep = " ", header = TRUE)
Run Code Online (Sandbox Code Playgroud)

这样做我可以一次将一个变量转换为百分比

mydata$var1 <- round(prop.table(mydata$var1),3)*100
Run Code Online (Sandbox Code Playgroud)

但是如何在一个笔划中的data.frame中使用所有变量(var1:var7)呢?

注意:它进入一个函数,其中变量的长度和数量不时变化,因此代码应该对此敏感.

先感谢您

r plyr

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

tableGrob:设置grid.table的高度和宽度

我正在尝试制作一个函数,它将为我提供一个可以用于indesign,illustrator或inkscape的情节.在尝试这样做时,我遇到了两个我无法解决的问题.

1)设置我的绘图的宽度和高度(或只是grobTable):我得到的输出非常小,当在illustrator中升级它时,字体跟随并变为大的方式.因此,我想制作手动定义的宽度和高度的图.

2)有时标题,注释和rownames会"放错位置"(有关详细信息,请参阅第1和第2小节之间的区别).当rownames很短时就会发生这种情况.

library(gridExtra)
library(ggplot2)

data(diamonds)

## plot function

kryds.row <- function(x,y, p=100, decor="%", digits=3,
                  titel="", note="", red=219, green=55, blue= 153){

c <- table(x, y)
s <- as.character(sum(c))
s <- paste("Antal svarpersoner=", s, sep=" ")
j <- prop.table(c,1)
r <- c(rownames(j),"Total")
k <- c(colnames(j), "Total")
j <- addmargins(j, margin =2, FUN = sum)
j <- round(j, digits)
j[]<-paste(j*p, decor, sep=" ")

farve <- rgb(red,green,blue, maxColorValue =255)

table     <-   tableGrob(j,
                       cols = k,
                       gpar.coretext = gpar(fontsize = 12),            
                       gpar.coltext  = gpar(fontsize …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 gridextra

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

在长字符串中自动插入换行符

是否可以在这样的字符串中插入换行符,以便自动调整以便不分割单词?

 nif <- as.character(c("I am a string", "So am I", 
     "I am also a string but way to long"))
Run Code Online (Sandbox Code Playgroud)

我在帖子中发现了这个代码,但是它会分割单词并在每个字符串之后添加一个换行符,我想避免

  gsub('(.{1,20})', '\\1\n',nif)
Run Code Online (Sandbox Code Playgroud)

我想要的输出是这样的:

 "I am a string"    "So am I"     "I am also a string but \n way to long" 
Run Code Online (Sandbox Code Playgroud)

regex r gsub

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

标签 统计

r ×3

ggplot2 ×1

gridextra ×1

gsub ×1

plyr ×1

regex ×1