我希望将一个字符串拆分为 3 个字符的 ngram - 例如 HelloWorld 将变为“Hel”、“ell”、“llo”、“loW”等 我如何使用 R 来实现这一点?
在Python中,它需要使用范围函数进行循环 - 例如[myString[i:] for i in range(3)]
有没有一种巧妙的方法可以使用循环遍历字符串的字母stringr将单词标记为向量?
例如
dfWords <- c("HelloWorld", "GoodbyeMoon", "HolaSun") %>%
data.frame()
names(dfWords)[1] = "Text"
Run Code Online (Sandbox Code Playgroud)
我想生成一个新列,其中包含标记化文本变量的向量(最好使用dplyr)。然后可以稍后将其拆分为新的列。
在 R 中,我想从嵌套列表中提取第一项;但有时该列表可能为空。
例如:
myList <- list(
list(ID = 1, Sales = 1000, Product = "Car"),
list(ID = 2, Sales = 2000, Product = "Boat"),
list(ID = 3, Sales = 1500, Product = "Bike")
)
myList2 <- list()
Run Code Online (Sandbox Code Playgroud)
所以当我拨打以下电话时:
myList[[1]]
myList2[[1]]
Run Code Online (Sandbox Code Playgroud)
第一个调用返回一个有效的子列表(ID=1, Sales=1000, Product = "Car"),但第二个调用返回一个错误 -
Error in myList2[[1]] : subscript out of bounds
是否有一个简单的调用可以表示“填充列表时返回项目 1,否则返回NULL并且不抛出错误”?
我有一个子列表,希望将其转换为数据框(特别是作为小标题);例如:
myList <- list(
list(var1=1,var2=2,var3=3,var4=4,var5=5,var6=6),
list(var1=4,var2=5,var3=6,var4=7,var5=8,var6=9),
list(var1=7,var2=8,var3=9,var4=1,var5=2,var6=3)
)
Run Code Online (Sandbox Code Playgroud)
使用以下代码,我可以将选择的变量提取到小数据帧
myDF <- tbl_df(cbind(
var1 = lapply(myList, '[[', "var1"),
var2 = lapply(myList, '[[', "var2"),
var5 = lapply(myList, '[[', "var5"),
var6 = lapply(myList, '[[', "var6")
))
Run Code Online (Sandbox Code Playgroud)
但这很冗长。是否有更简洁的方法(也许使用purrr映射函数)可以将选定的子元素从每个列表中拉出并填充到行中?
此外,如果子列表包含列表本身,那么如何最好地提取这些列表的元素;例如:
myList <- list(
list(var1=1,var2=2,var3=3,list4=list(varA="a",varB="b")),
list(var1=4,var2=5,var3=6,list4=list(varA="c",varB="d")),
list(var1=7,var2=8,var3=9,list4=list(varA="e",varB="f"))
)
Run Code Online (Sandbox Code Playgroud)
我如何获得以下工作:
myDF <- tbl_df(cbind(
var1 = lapply(myList, '[[', "var1"),
var2 = lapply(myList, '[[', "var2"),
var4 = lapply(myList, '[[', "list4$varA")
))
Run Code Online (Sandbox Code Playgroud)
我想从列表4中提取特定元素,但是使用$表示法向下钻取到下一个级别不起作用?
我在 Power BI 的 PowerQuery 中包含了一个 R 脚本来转换数据。这在 Power BI Desktop 中有效,但是当我推送到 Power BI Server 时,在查看(企业)网关时收到以下错误消息:
Extension{"extensionDataSourceKind":"R","extensionDataSourcePath":"R"} Cannot be added to gateway
Run Code Online (Sandbox Code Playgroud)
进行一些谷歌搜索/查看 Power BI 社区页面表明,企业网关不支持 R 脚本 - 这与 Microsoft 想要支持在云服务器上运行 R 的内存过于密集有关。但我可以找到很少的具体文档(更多意见):
https://www.sqlgene.com/2018/09/25/power-bi-error-r-cannot-be-added-to-gateway/
有没有人找到解决方案或开发任何合适的解决方法?例如,可以使用个人网关作为替代方案吗?或者企业网关是否支持Python 脚本的运行?
我很想知道人们发现在 Power BI 服务上运行 R 脚本的任何策略。