我希望计算该列中每个字符串的字符数name。我的数据框sample如下所示:
date name expenditure type
23MAR2013 KOSH ENTRP 4000 COMPANY
23MAR2013 JOHN DOE 800 INDIVIDUAL
24MAR2013 S KHAN 300 INDIVIDUAL
24MAR2013 JASINT PVT LTD 8000 COMPANY
25MAR2013 KOSH ENTRPRISE 2000 COMPANY
25MAR2013 JOHN S DOE 220 INDIVIDUAL
25MAR2013 S KHAN 300 INDIVIDUAL
26MAR2013 S KHAN 300 INDIVIDUAL
Run Code Online (Sandbox Code Playgroud)
为什么会给nchar我一个随机数列表?str_length()从stringr包中也是如此
Length <- aggregate(nchar(sample$name), by=list(sample$name), FUN=nchar)
Run Code Online (Sandbox Code Playgroud)
输出
Group.1 x
1 JASINT PVT LTD 2
2 JOHN DOE 1
3 JOHN S DOE 2 …Run Code Online (Sandbox Code Playgroud) 我有两个分类变量,即,一个数据集Year,并Category和两个连续变量TotalSales和AverageCount.
Year Category TotalSales AverageCount
1 2013 Beverages 102074.29 22190.06
2 2013 Condiments 55277.56 14173.73
3 2013 Confections 36415.75 12138.58
4 2013 Dairy Products 30337.39 24400.00
5 2013 Seafood 53019.98 27905.25
6 2014 Beverages 81338.06 35400.00
7 2014 Condiments 55948.82 19981.72
8 2014 Confections 44478.36 24710.00
9 2014 Dairy Products 84412.36 32466.00
10 2014 Seafood 65544.19 14565.37
Run Code Online (Sandbox Code Playgroud)
在MS Excel中,我们可以愉快地获得同一个表的数据透视图,其中Year和Category为AXIS,TotalSales和AverageCount为sigma值.
使用R,如何绘制如图所示的图形,其中分类变量在同一图形中显示为多个图层?

PS我可以看到的一个选项是,将数据框分成两个独立的数据框(一个是2013年,另一个是2014年的另一个),并在一个图上绘制两个图,排成多行以获得相同的效果.但有没有办法如上所示绘制它?
上面使用的示例数据
dat <- structure(list(Year = c(2013L, 2013L, …Run Code Online (Sandbox Code Playgroud) 我有一个闪亮的应用程序,它选择xlsx/csv文件并将其上传到系统,上传后,我希望填充我提取到selectInput()或的数据表的列名称selectizeInput().
以下代码表示用户上载数据文件的事件
ui.R
library(markdown)
require(XLConnect)
shinyUI(navbarPage(img(class="img-polaroid",
src=paste0("http://www.iconsdb.com/icons/preview/black/stackoverflow-5-xl.png")),
tabPanel("Table",
titlePanel("Select Data"),
sidebarLayout(
sidebarPanel(
selectInput("fileType", "Select File Type:",
c("MS Excel Worksheet (xls,xlsx)" = "xls",
"Text/CSV (.csv)" = "csv"
)
),
fileInput('file1', 'Choose file to upload',
accept = c(
'text/csv',
'text/comma-separated-values',
'text/tab-separated-values',
'text/plain',
'.csv',
'.tsv',
'application/vnd.ms-excel',
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'.xlsx',
'.xls'
)
),
tags$hr(),
checkboxInput('header', 'Header', TRUE),
radioButtons('sep', 'Separator',
c(Comma=',',
Semicolon=';',
Tab='\t'),
','),
radioButtons('quote', 'Quote',
c(None='',
'Double Quote'='"',
'Single Quote'="'"),
'"'),
tags$hr()
),
mainPanel(
dataTableOutput('table')
)
)
), …Run Code Online (Sandbox Code Playgroud) 我有一个data.frame DataSample,如下所示:
Area Category.x TopSales Category.y BottomSales
1 East Seafood 83220.19 Beverages 2135.17
2 North Beverages 84324.99 Condiments 2658.95
3 South Beverages 79202.89 Seafood 400.00
4 West Beverages 70448.24 Condiments 1563.60
Run Code Online (Sandbox Code Playgroud)
我想,以取代Category.x与Category_Top和Category.y用Category_Bottom,所以我尝试以下步骤:
ColNameOld<-names(DataSample)
ColNameNew_1<-sub('.x','_Top',ColNameOld)
ColNameNew_2<-sub('.y','_Bottom',ColNameNew_1)
names(DataSample)<-ColNameNew_2
Run Code Online (Sandbox Code Playgroud)
因此我得到了所需的结果,如下所示.
Area Category_Top TopSales Category_Bottom BottomSales
1 East Seafood 83220.19 Beverages 2135.17
2 North Beverages 84324.99 Condiments 2658.95
3 South Beverages 79202.89 Seafood 400.00
4 West Beverages 70448.24 Condiments 1563.60
Run Code Online (Sandbox Code Playgroud)
但我的问题是,我怎么能在一个步骤中完成它,我在一个单独的向量中传递要替换的字符串模式和各自的匹配模式,并使用sub()或gsub()替换它们? …
使用较大数据推断出的数据dplyr显示了有关2013年和2014年四个季度总销售额的信息.
Quarter X2013 X2014 Total.Result
1 Qtr 1 77282.13 66421.10 143703.2
2 Qtr 2 69174.64 76480.13 145654.8
3 Qtr 3 65238.47 79081.74 144320.2
4 Qtr 4 65429.73 109738.82 175168.5
Run Code Online (Sandbox Code Playgroud)
我希望ggplot通过比较条形图上的两年和每个季度的条形图组来绘制下面的条形图,如下所示.(来自MS Excel的输出)

我使用的ggplot语句如下所示(我可能错了)
ggplot(qtr2, aes(x=as.factor(Quarter),fill=c(X2013,X2014))) +
geom_bar(position="dodge")
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
Error: Aesthetics must either be length one, or the same length as the dataProblems:as.factor(Quarter)
Run Code Online (Sandbox Code Playgroud) 当连续行中变量的类别相同时,我试图根据分类变量连接两行。以下是我的数据,例如:
SNo user Text
0 1 Sam Hello
1 1 John Hi
2 1 Sam How are you?
3 1 John I am good
4 1 John How about you?
5 1 John How is it going?
6 1 Sam Its going good
7 1 Sam Thanks
8 2 Mary Howdy?
9 2 Jake Hey!!
10 2 Jake What a surprise
11 2 Mary Good to see you here :)
12 2 Jake Ha ha. Hectic life
13 2 Mary …Run Code Online (Sandbox Code Playgroud)