小编Mar*_*ark的帖子

从列表元素的成对组合构建数据框

我有一个清单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)

r list dataframe

2
推荐指数
1
解决办法
75
查看次数

使用白噪声和狄拉克 delta 函数求解 ODE

我想用数值方法求解以下常微分方程:

在此输入图像描述

其中 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)

r ode

2
推荐指数
1
解决办法
359
查看次数

如何用零和1计算矩阵中对角线(由1组成)的数量

我有矩阵的每个单元格中随机分配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 matrix

1
推荐指数
1
解决办法
61
查看次数

如何将两种不同比例的颜色渐变与 ggplot 合并

通过使用 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)

产生以下两张图片

在此处输入图片说明

在此处输入图片说明

相反,我希望能够将它们整合在一个图中,一个红色和黑色条和另一个蓝色和绿色条。

r ggplot2

1
推荐指数
1
解决办法
757
查看次数

Pandas DataFrame,如何获取没有 dtype 和 \nName 的数据元素

我上传了一个 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)

python string pandas

1
推荐指数
1
解决办法
539
查看次数

在 Excel 文件中写入数据框列表

制作数据框列表很容易:

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文件上写字,其工作表是d1d2

excel r list dataframe

1
推荐指数
1
解决办法
289
查看次数

稀疏度为 0% 的 DocumentTermMatrix

我正在尝试从一本意大利语书中获取文档术语矩阵。我有这本书的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)\n
Run 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\n
Run Code Online (Sandbox Code Playgroud)\n

我注意到稀疏度是 0%。这是正常的吗?

\n

pdf r tm

0
推荐指数
1
解决办法
557
查看次数

标签 统计

r ×6

dataframe ×2

list ×2

excel ×1

ggplot2 ×1

matrix ×1

ode ×1

pandas ×1

pdf ×1

python ×1

string ×1

tm ×1