我有一个清单list。此列表的前 5 个元素是:
[[1]]
[1] "#solarpanels" "#solar"
[[2]]
[1] "#Nuclear" "#Wind" "#solar"
[[3]]
[1] "#solar"
[[4]]
[1] "#steel" "#windenergy" "#solarenergy" "#carbonfootprint"
[[5]]
[1] "#solar" "#wind"
Run Code Online (Sandbox Code Playgroud)
我想删除元素,[[3]]因为只包含一个元素。此外,我想为列表的每一行构建一个包含所有可能组合的数据框。例如,具有两列(例如第一个 named A,第二个B)的数据框,例如:
A B
"#solarpanels" "#solar"
"#Nuclear" "#Wind"
"#Nuclear" "#solar"
"#steel" "#windenergy"
"#steel" "#solarenergy"
"#steel" "#carbonfootprint"
"#windenergy" "#carbonfootprint"
"#windenergy" "#solarenergy"
"#solarenergy" "#carbonfootprint"
"#solar" "#wind"
Run Code Online (Sandbox Code Playgroud)
我尝试过(仅针对一个元素)
for (i in 1:(length(list[[4]])-1)) {
df$from = rep(list[[4]][i],length(list[[4]])-i)
df$to = list[[4]][(i+1):length(list[[4]])]
}
Run Code Online (Sandbox Code Playgroud)
在哪里
df=data.frame(A=character(),
B=character(),
stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)
但我得到了
data.frame`(`*tmp*`, A, value = c("#steel", …Run Code Online (Sandbox Code Playgroud) 我想用数值方法求解以下常微分方程:
其中 W 是白噪声,delta 是狄拉克 delta 函数。如果系统只有 p 和 v 中的项,那么用 R 编写代码会很容易。事实上,这是我的工作:
# parameters:
parameters <- c(alpha = 1,
beta = 2,
kappa2 = 1,
kappa3 =-1)
# initial conditions:
state <- c(v=0.8,p=0.5)
Lorenz<-function(t, state, parameters) {
with(as.list(c(state, parameters)),{
# rate of change
dv <- -2*alpha*v-beta^2*p
dp <- v
# return the rate of change
list(c(dv,dp))
}) # end with(as.list ...
}
times <- seq(0, 100, by = 0.01)
library(deSolve)
out <- ode(y = state, times = times, func …Run Code Online (Sandbox Code Playgroud) 我有矩阵的每个单元格中随机分配0或1的矩阵.5乘5矩阵可能如下所示:
A
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 1 0 1
[2,] 0 0 1 0 1
[3,] 0 1 1 1 1
[4,] 1 1 0 1 1
[5,] 1 1 0 1 0
Run Code Online (Sandbox Code Playgroud)
例如,由代码生成:
mm <- matrix(0, 5, 5)
A<-apply(mm, c(1, 2), function(x) sample(c(0, 1), 1))
Run Code Online (Sandbox Code Playgroud)
对角线由以下方式组成1:
即,有3条长度为2的对角线和2条长度为3的对角线.此外,没有长度为4和5的对角线.
我会将此结果存储在一个数组中v:
v
[1] 3 2 0 0
Run Code Online (Sandbox Code Playgroud)
即v[1]存储长度为2的v[2]对角线,存储长度为3的对角线,依此类推.
我的尝试错了.它基于:
which(A!=0)
[1] 4 5 8 9 10 11 12 13 18 19 20 …Run Code Online (Sandbox Code Playgroud) 通过使用 R,是否可以将 2 个 ggplot 放在一起(即在同一个图上)但具有不同的颜色渐变条?我的代码,例如,
library(ggplot2)
ggplot(df1, aes(duration, slopes, col = color)) +
geom_point(size = 3) +
scale_color_gradient(low = "black", high = "red")
ggplot(df2, aes(duration, slopes, col = color)) +
geom_point(size = 3) +
scale_color_gradient(low = "blue", high = "green")
Run Code Online (Sandbox Code Playgroud)
产生以下两张图片
相反,我希望能够将它们整合在一个图中,一个红色和黑色条和另一个蓝色和绿色条。
我上传了一个 pandas 数据框
import pandas as pd
data = pd.read_csv("names.csv", header=None)
Run Code Online (Sandbox Code Playgroud)
该数据框包含人的姓名。它的大小是(38,1). 无论如何,当我试图得到名字时,
str(data.loc[1])
Run Code Online (Sandbox Code Playgroud)
(我需要一个字符串)我得到:
'0 John Smith\nName: 1, dtype: object'
Run Code Online (Sandbox Code Playgroud)
为什么?我想拥有:
'John Smith'
Run Code Online (Sandbox Code Playgroud) 制作数据框列表很容易:
d1 <- data.frame(y1 = c(1, 2, 3), y2 = c(4, 5, 6))
d2 <- data.frame(y1 = c(3, 2), y2 = c(6, 5))
my.list <- list(d1, d2)
Run Code Online (Sandbox Code Playgroud)
我的问题是:我怎样才能my.list在一个excel文件上写字,其工作表是d1和d2?
我正在尝试从一本意大利语书中获取文档术语矩阵。我有这本书的pdf文件,我写了几行代码:
\n#install.packages("pdftools")\nlibrary(pdftools)\nlibrary(tm)\ntext <- pdf_text("IoRobot.pdf")\n# collapse pdf pages into 1\ntext <- paste(unlist(text), collapse ="")\nmyCorpus <- VCorpus(VectorSource(text))\nmydtm <-DocumentTermMatrix(myCorpus,control = list(removeNumbers = TRUE, removePunctuation = TRUE,\n stopwords=stopwords("it"), stemming=TRUE))\ninspect(mydtm)\nRun Code Online (Sandbox Code Playgroud)\n我在最后一行之后得到的结果是:
\n<<DocumentTermMatrix (documents: 1, terms: 10197)>>\nNon-/sparse entries: 10197/0\nSparsity : 0%\nMaximal term length: 39\nWeighting : term frequency (tf)\nSample :\n Terms\nDocs calvin cosa donovan esser pi\xc3\xba poi powel prima quando robot\n 1 201 191 254 193 288 211 287 166 184 62\nRun Code Online (Sandbox Code Playgroud)\n我注意到稀疏度是 0%。这是正常的吗?
\n