我...对一些函数中使用省略号()感到困惑,即如何将包含参数的对象作为单个参数传递.
在Python中,它被称为"解包参数列表",例如
>>> range(3, 6) # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args) # call with arguments unpacked from a list
[3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
例如,在R中你有一个file.path(...)使用省略号的函数.我想有这样的行为:
> args <- c('baz', 'foob')
> file.path('/foo/bar/', args)
[1] 'foo/bar/baz/foob'
Run Code Online (Sandbox Code Playgroud)
相反,我得到了
[1] 'foo/bar/baz' 'foo/bar/foob'
Run Code Online (Sandbox Code Playgroud)
其中的元素args不是"解包"并同时进行评估.是否有R等价于蟒蛇*arg?
在SPSS中运行R插件时,我收到一个Windows路径字符串作为输入,例如
'C:\Users\mhermans\somefile.csv'
Run Code Online (Sandbox Code Playgroud)
我想在后续的R代码中使用该路径,但是斜杠需要用正斜杠替换,否则R将其解释为转义(例如"\ U used without hex digits"错误).
然而,我无法找到一个可以用斜线替换反斜杠或双重逃避它们的函数.所有这些函数都假设这些字符被转义.
那么,是否有类似的东西:
>gsub('\\', '/', 'C:\Users\mhermans')
C:/Users/mhermans
Run Code Online (Sandbox Code Playgroud) 我目前正在探索MongoEngine"对象文档映射器"的可能性.目前我不清楚的是,我可以在多大程度上将验证和对象创建逻辑移动到Document对象本身.
我的印象是它应该不是问题,但我没有找到很多关于问题的例子/警告/最佳实践
我想我需要覆盖save()方法,以便我可以调用我的自定义逻辑,但是缺少示例会让我相信这可能是一种错误的方法......
任何示例或对使用mongoEngine的高质量代码库的引用都是受欢迎的.
我可以找到将图例和轴标签对齐的选项ggplot,但不能找到刻度线标签.
是否可以将这些标签与图形图框右对齐,但是左对齐与最长标签的起点齐平,还是与整个图形边界设置一定距离?
例:
set.seed(1)
library(ggplot2)
axisLabels.x <- c("This is a longer label",
"Short label", "Short label","Short label","Short label",
"This is again a longer label")
labels.wrap <- lapply(strwrap(axisLabels.x,50,simplify=F),paste,collapse="\n") # word wrap
gg <- data.frame(x=LETTERS[1:6], y=sample(1:10,6))
ggplot(gg) +
geom_bar(aes(x,y, fill=x), stat="identity")+
scale_x_discrete(labels=labels.wrap)+
scale_fill_discrete(guide="none")+
labs(x="",y="Response")+
coord_flip()
Run Code Online (Sandbox Code Playgroud)

通缉:

是否有一种简单的方法可以将数据框与虚拟对象转换为包含两个方面共同计数的共现矩阵?
例如,从这里开始
X <- data.frame(rbind(c(1,0,1,0), c(0,1,1,0), c(0,1,1,1), c(0,0,1,0)))
X
X1 X2 X3 X4
1 1 0 1 0
2 0 1 1 0
3 0 1 1 1
4 0 0 1 0
Run Code Online (Sandbox Code Playgroud)
对此
X1 X2 X3 X4
X1 0 0 1 0
X2 0 0 2 1
X3 1 2 0 1
X4 0 1 1 0
Run Code Online (Sandbox Code Playgroud) 我正在ftable()为描述性报告生成大量的交叉制表.例:
AUS BEL BUL EST FRA GEO GER HUN ITA NET NOR ROM RUS
30- primary 0.06 0.03 0.07 0.03 0.02 0.03 0.03 0.02 0.05 0.03 0.05 0.04 0.02
secondary 0.30 0.09 0.16 0.10 0.10 0.14 0.10 0.16 0.11 0.08 0.08 0.09 0.11
tertiary 0.05 0.07 0.04 0.05 0.07 0.06 0.02 0.04 0.02 0.05 0.06 0.02 0.09
30+ primary 0.07 0.16 0.12 0.07 0.16 0.03 0.05 0.11 0.35 0.21 0.09 0.17 0.03
secondary 0.40 0.20 0.30 0.29 0.25 …Run Code Online (Sandbox Code Playgroud) 我试图读取由LISREL以下列格式在纯文本,空白分隔文件中写出的方差 - 协方差矩阵:
0.23675E+01 0.86752E+00 0.28675E+01 -0.36190E+00 -0.36190E+00 0.25381E+01
-0.32571E+00 -0.32571E+00 0.84425E+00 0.25598E+01 -0.37680E+00 -0.37680E+00
0.53136E+00 0.47822E+00 0.21120E+01 -0.37680E+00 -0.37680E+00 0.53136E+00
0.47822E+00 0.91200E+00 0.21120E+01
Run Code Online (Sandbox Code Playgroud)
这实际上是一个较低的对角矩阵(包括对角线):
0.23675E+01
0.86752E+00 0.28675E+01
-0.36190E+00 -0.36190E+00 0.25381E+01
-0.32571E+00 -0.32571E+00 0.84425E+00 0.25598E+01
-0.37680E+00 -0.37680E+00 0.53136E+00 0.47822E+00 0.21120E+01
-0.37680E+00 -0.37680E+00 0.53136E+00 0.47822E+00 0.91200E+00 0.21120E+01
Run Code Online (Sandbox Code Playgroud)
我可以用scan()或正确读取值read.table(fill=T).
但是,我无法将读入矢量正确存储在矩阵中.以下代码
S <- diag(6)
S[lower.tri(S,diag=T)] <- d
Run Code Online (Sandbox Code Playgroud)
按列填充下面的矩阵,而它应该按行填充.
使用matrix()确实允许选项byrow=TRUE,但这将填充整个矩阵,而不仅仅是下半部分(带对角线).
有两种可能:只填充下面的矩阵(用对角线)并按行进行吗?
(我遇到的另一个问题是:LISREL使用'D + 01'而R只识别'E + 01'用于科学记数法.你可以在R中改变它以接受'D'吗?)
sf我正在尝试使用和在 R 中显示(断开连接的)线串的简单特征集合leaflet。数据是从 openstreetmap 获取的osmdata。
使用基本的plot()函数,tmap, 或mapview,我可以直接在静态和交互式地图上显示线串。但是,这在使用时不起作用leaflet。Leaflet 正确地将地图居中,但不显示线串。在 addPolyLines() 中摆弄颜色、重量等参数似乎没有帮助。
雷普莱克斯
\n\nlibrary(osmdata)\nlibrary(leaflet)\nlibrary(sf)\nlibrary(tmap)\n\nosm <- opq(bbox = c(-0.27, 51.47, -0.20, 51.50)) %>%\n add_osm_feature(key = \'name\', value = "Thames", value_exact = FALSE) %>%\n osmdata_sf()\n\nosm$osm_lines\n\nSimple feature collection with 2085 features and 178 fields\ngeometry type: LINESTRING\ndimension: XY\nbbox: xmin: -2.029917 ymin: 51.37841 xmax: 0.6778926 ymax: 51.79032\nepsg (SRID): 4326\nproj4string: +proj=longlat +datum=WGS84 +no_defs\nFirst 10 features:\n...\n\nplot(osm$osm_lines, max.plot = 1) # OK\nqtm(osm$osm_lines) + tm_lines() # OK\nmapview(osm$osm_lines) …Run Code Online (Sandbox Code Playgroud)