小编Ram*_*ham的帖子

在R中的数据框中组合两个列表

我有两个不同结构的列表:

listA <- list(c("a","b","c"), c("d","e"))
listB <- list(0.05, 0.5)

listA
[[1]]
[1] "a" "b" "c"

[[2]]
[1] "d" "e"

listB
[[1]]
[1] 0.05

[[2]]
[1] 0.5
Run Code Online (Sandbox Code Playgroud)

我知道如何使用循环将两个列表组合在一个看起来像下面的数据框中,但我确信有一种更有效的方法.

data.frame(A = c("a","b","c","d","e"), B = c(rep(0.05,3), rep(0.5,2)))
  A    B
1 a 0.05
2 b 0.05
3 c 0.05
4 d 0.50
5 e 0.50
Run Code Online (Sandbox Code Playgroud)

merge r list dataframe

12
推荐指数
2
解决办法
3万
查看次数

如何在两个人A和B之间的对话中仅提取人A的陈述

我有两个任意人A和B之间的对话记录.

c1 <- "Person A: blabla...something Person B: blabla something else Person A: OK blabla"
c2 <- "Person A: again blabla Person B: blabla something else Person A: thanks blabla"
Run Code Online (Sandbox Code Playgroud)

数据框如下所示:

df <- data.frame(id = rbind(123, 345), conversation = rbind(c1, c2))

df

    id                                                                     conversation
c1 123 Person A: blabla...something Person B: blabla something else Person A: OK blabla
c2 345   Person A: again blabla Person B: blabla something else Person A: thanks blabla
Run Code Online (Sandbox Code Playgroud)

现在我想只提取人A的一部分并将其放在数据框中.结果应该是:

   id                     person_A
1 123 blabla...something OK …
Run Code Online (Sandbox Code Playgroud)

regex text-extraction r text-mining dataframe

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

如何在数据框中向左移动具有值的单元格

我正在研究一个基本上看起来像这个的数据帧.


   X1   X2   X3 X4
x1  a    b   NA  c
x2  d   NA   NA  e
x3  f    g    h  i
x4  j   NA    k  l
Run Code Online (Sandbox Code Playgroud)

我想要做的是将每个单元格的行向左移动.最后,所有具有值的单元格应该向左聚集,而所有具有NA的单元格应该向右聚集.

最后,数据框应如下所示:


   X1   X2   X3 X4
x1  a    b   c  NA
x2  d    e   NA NA
x3  f    g    h  i
x4  j    k    l NA
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不知道该怎么做.

非常感谢您的帮助.(也许你也可以解释你的代码在做什么?)

拉米

r dataframe

4
推荐指数
3
解决办法
1823
查看次数

逐行搜索和查找数据帧的值

我的数据框看起来像这样:

x1 <- c("a", "c", "f", "j")
x2 <- c("b", "c", "g", "k")
x3 <- c("b", "d", "h", NA)
x4 <- c("a", "e", "i", NA)
df <- data.frame(x1, x2, x3, x4, stringsAsFactors=F)

df

x1 x2   x3   x4
1  a  b    b    a
2  c  c    d    e
3  f  g    h    i
4  j  k <NA> <NA>
Run Code Online (Sandbox Code Playgroud)

现在我有一个任意的向量:

vec <- c("a", "i", "s", "t", "z")
Run Code Online (Sandbox Code Playgroud)

我想将矢量值与数据帧中的每一行进行比较,并创建一个额外的列,指示是否至少找到一个矢量值.

生成的数据框应如下所示:

  x1 x2   x3   x4 valueFound
1  a  b    b    a          1
2  c …
Run Code Online (Sandbox Code Playgroud)

r dataframe

4
推荐指数
3
解决办法
1091
查看次数

标签 统计

dataframe ×4

r ×4

list ×1

merge ×1

regex ×1

text-extraction ×1

text-mining ×1