提取句子字符串中最后一个单词的最优雅方法是什么?
句子不以"."结尾.单词由空格分隔.
sentence <- "The quick brown fox"
TheFunction(sentence)
Run Code Online (Sandbox Code Playgroud)
应该回归:"狐狸"
如果可以使用简单的解决方案,我不想使用包.如果存在基于包的简单解决方案,那也没关系.
我正在寻找R中相当基本的数字函数数字和.
因此我试着用以下功能结束:
# Function to calculate a digit sum
digitsum = function (x) {sum(as.numeric(unlist(strsplit(as.character(x), split="")))) }
Run Code Online (Sandbox Code Playgroud)
我工作,但我仍然在努力解决两个问题:
...请参阅rmarkdown示例代码.
通过修改rmarkdown片段来欣赏证明解决方案的答案.
---
title: "Reproducable Example"
author: "user2030503"
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
## Example: mtcars
```{r}
write.csv2(mtcars, "./file.csv")
# Code to embed mtcars as csv
# Code to provide mechanism for button or link for later user interaction to open/save the csv.
```
## Problem
* I want to embed the csv file into the html generated by this rmarkdown script.
* Embedding here means, that the csv data are …
Run Code Online (Sandbox Code Playgroud) ggplot2/knitr强制绘图(在LaTeX中)具有默认的宽高比.具有不同面数的两个图导致具有小平面高度的图.这不好.
我正在寻找一种独立于行方面数量来控制ggplot2方面高度的解决方案.
编辑9月9日: 解决方案应该在一个块内工作,因为两个块都在一个块中(如示例代码中所示).因此,调整knitr的数字相关块选项是不可行的,因为块选项同样适用于两个图.
将每个绘图放入gridExtra框并使用facet的数量缩放它的高度,导致不再有不同的facet高度:更好但不完美.
是否有一个更智能,无问题的解决方案,可以独立于行方面的数量控制ggplot2方面的高度?
\documentclass[a4paper]{article}
\usepackage[margin=1in]{geometry}
\begin{document}
<<setup, results='asis', message=FALSE, echo=FALSE>>=
require(ggplot2)
require(gridExtra)
### Generate two data frames
# Data frame with 2 classes
db.small = data.frame (
class = as.factor(c(rep("A", 12), rep("B", 12))),
month = as.factor(rep(1:12, 2)),
value = runif(2*12, 0, 100)
)
# Data frame with 5 classes
db.large = data.frame (
class = as.factor(c(rep("A", 12), rep("B", 12), rep("C", 12), rep("C", 12), rep("D", 12))),
month …
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种在R中编写密码生成器函数的智能方法:
generate.password (length, capitals, numbers)
Run Code Online (Sandbox Code Playgroud)
例子:
generate.password(8)
[1] "hqbfpozr"
generate.password(length=8, capitals=c(2,4))
[1] "hYbFpozr"
generate.password(length=8, capitals=c(2,4), numbers=c(7:8))
[1] "hYbFpo49"
Run Code Online (Sandbox Code Playgroud) 使用案例: 我使用riverplot包绘制sankey图表.我需要调整图中节点标签的文本大小.在我的情况下,默认大小太大了.
问题,我已经尝试过了:
不幸的是,包不适用于cex
参数.该软件包的开发人员没有向我提供指导.r可
重现的例子:
library(riverplot)
plot(riverplot.example())
Run Code Online (Sandbox Code Playgroud)
产生:
题:
如何将节点标签(A,B,...)调整为比默认值更小或更大的尺寸?
我使用gridExtra包创建一个表:
require("gridExtra")
# Prepare data frame
col1 = c(rep("A", 3), rep("B", 2), rep("C", 5))
col2 = c(rep("1", 4), rep("2", 3), rep("3", 3))
col3 = c(1:10)
df = data.frame(col1, col2, col3)
# Create table
grid.arrange(tableGrob(df, show.rownames=F))
Run Code Online (Sandbox Code Playgroud)
输出:
我想摆脱重复的行条目并实现看起来像这样的跨越条目(这个图像是用Photoshop制作的模型):
任何想法如何在R中以编程方式实现此目标?
给出的是一棵树:
library(igraph)
# setup graph
g= graph.formula(A -+ B,
A -+ C,
B -+ C,
B -+ D,
B -+ E
)
plot(g, layout = layout.reingold.tilford(g, root="A"))
Run Code Online (Sandbox Code Playgroud)
顶点"A"
是树的根,而顶点"C", "D", "E"
被视为末端叶子。
问题:
任务是找到根与叶之间的所有路径。我无法执行以下代码,因为它仅提供最短的路径:
# find root and leaves
leaves= which(degree(g, v = V(g), mode = "out")==0, useNames = T)
root= which(degree(g, v = V(g), mode = "in")==0, useNames = T)
# find all paths
paths= lapply(root, function(x) get.all.shortest.paths(g, from = x, to = leaves, mode = "out")$res) …
Run Code Online (Sandbox Code Playgroud) 我有一个包含2个变量(x,y)的数据框.y变量"通常"在"小范围"内变化.数据框中的异常值很少.这是一个例子:
# uniform sample data frame
# y variable "typically" varying in a "small" range between 0 and 1
df = data.frame(
x = 1:100,
y = runif(100)
)
# add 2 outlier to data frame
# yielding a data frame
# with 99 normal values and 1 outlier
df[3, 2] = 50
df[4, 2] = -50
Run Code Online (Sandbox Code Playgroud)
因此,数据框在y变量中通常具有98个值和2个异常值,如前10行所示head(df, 10)
:
x y
1 1 0.9785541
2 2 0.2321611
3 3 50.0000000
4 4 -50.0000000
5 5 0.8316717
6 …
Run Code Online (Sandbox Code Playgroud)