我正在通过 R 连接到 MySQL 数据库,并且数据库中的一些数据如下所示:
a:1:{s:17:\"last_cart_refresh\";i:1470188219;}
Run Code Online (Sandbox Code Playgroud)
我的理解是,这是使用 PHPserialize()函数的PHP 序列化数据 。R 中有没有办法(本地或使用包)来理解这些数据?
编辑:补充说明我希望在 R 而不是 PHP 中能够读取数据。
我目前正在尝试使用ggplot创建一个条形图,其中包含一个部分透明的条形图.
我有以下代码:
dt1 <- data.table(yr=c(2010,2010,2011,2011),
val=c(1500,3000,2000,1100),
x=c("a","b","a","b"))
ggplot() + geom_bar(data=dt1, aes(x=yr, y=val,fill=x),stat="identity") +
scale_x_continuous(breaks=dt1$yr)
Run Code Online (Sandbox Code Playgroud)
这将创建一个包含2列堆叠数据的简单图表.我已经尝试了以下代码来调整2011年的值以获得透明度,但是我没有太多运气.有什么指针吗?
dt1[,alphayr:=ifelse(yr==2011,.5,1)]
ggplot() + geom_bar(data=dt1, aes(x=yr, y=val,fill=x),stat="identity", alpha=dt1$alphayr) +
scale_x_continuous(breaks=dt1$yr)
Run Code Online (Sandbox Code Playgroud) 我有data.table几个列(可以是动态数量的列),我想对其应用最小值。每列都有自己特定的最小值。
我的基本版本data.table如下所示:
library(data.table)
dt <- data.table(
urn = 1:10,
col1 = 5:14,
col2 = 11:20
)
Run Code Online (Sandbox Code Playgroud)
注意:我只包含了两列,其中的值需要具有代表的最小值。可能有更多的列,因此尝试动态地对此进行编码。
我的方法是嵌套lapply语句等,但我不知道如何在lapply函数中调用我的列。
min_vals <- c(10, 15)
my_cols <- grep("^col", colnames(dt), value = TRUE)
## First approach
dt[,
(my_cols) := lapply(min_vals, function(x) {
my_cols[my_cols < x] <- x
})]
## Second Approach
dt[,
(my_cols) := lapply(min_vals, function(x) {
ifelse(my_cols < x, x, my_cols)
})]
Run Code Online (Sandbox Code Playgroud)
目前,第一种方法将所有行设置为相应的min_vals,而不仅仅是min_vals. 第二种方法根本不起作用,反而出错。
所需的输出如下所示:
dt
# urn col1 col2
# …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个正则表达式,允许我找到一个我没有空格的字符串实例,/
例如:
some characters/morecharacters
Run Code Online (Sandbox Code Playgroud)
我已经提出了下面的表达式,它允许我在我/和单词字符之前找到单词字符或右括号,或者之后打开括号字符.
(\w|\))/(\(|\w)
Run Code Online (Sandbox Code Playgroud)
这适用于大多数情况,但是当我/附上引号时,我会松开.在这种情况下,我希望它被忽略.我在这里和这里看过几个不同的帖子.但是,我不能让他们在我的情况下工作.
我想要的是下面确定的前三个案例匹配和最后一个被忽略的演员,允许我提取项目1和项目3.
some text/more text
(formula)/dividethis
divideme/(byme)
"dont match/me"
Run Code Online (Sandbox Code Playgroud)