假设我有一个数据帧,它看起来像这样。 类别|文本 :-:|:-: | First |我是Groot。| | First |我们是Groot。| | Second |黑暗骑士崛起。| | Second |我是蝙蝠侠。| 但我们希望将列文本中的行合并到一行中,并使其看起来像这样。 类别|文本 -| | First |我是Groot。我们是格鲁特。| | Second |黑暗骑士崛起。我是蝙蝠侠。| 我该怎么做?
如何创建包含嵌套data.table的data.tables?
示例
set.seed(7908)
dt <- data.table(x=1:5)[,list(y=letters[1:x],z=sample(1:100,x)),by=x]
dt
## x y z
## 1: 1 a 13
## 2: 2 a 27
## 3: 2 b 87
## 4: 3 a 85
## 5: 3 b 98
## 6: 3 c 1
## 7: 4 a 53
## 8: 4 b 81
## 9: 4 c 64
## 10: 4 d 45
## 11: 5 a 28
## 12
我必须删除我的数据帧中的列,该数据帧有超过4000列和180个rows.The。我希望设置以下条件来删除数据帧中的列:(i)如果该列中的值/条目少于两个,则删除该列;(ii)如果该列中没有两个连续的(一个接一个)值,则删除该列。(iii)删除所有值均为NA的列。我已经提供了删除列的条件。这里的目的不仅仅是按照列的名称查找列,就像“如何在data.table中删除列?”那样。我的说明如下:
A B C D E
0.018 NA NA NA NA
0.017 NA NA NA NA
0.019 NA NA NA NA
0.018 0.034
我有以下数据表
dt<-data.table(string=c("A","A","A","B","B","C"), source=c("a","b","c","a","b","a"), N=rep(1,6))
string source N
1: A a 1
2: A b 1
3: A c 1
4: B
我想要生成一个数据文件hminput,其中包含来自不同的较小数据(名为frqAFR、frqAMR、..。等等,如下所示)。因此,与其单独编写所有代码来提取每个列的三列,然后按列绑定它们,然后再按行绑定,我想知道是否可以使用列表中包含字符串的for循环对其进行一些优化。
所以,到目前为止,我的想法是:
listpop<-c("frqAFR","frqAMR","frqEUR","frqEAS","frqSAS","frqAFROURU","frqIND")
for (g in
当满足条件时,我想替换tibble中的值。
Data <- tibble(a = 1:5,
b = c("a","b","a","a","a"),
c = c("z","y","x","z","z"),
d = c("m","n","m","m","m"),
e = c(1,3,4,7,2))
a b c d e
1 1 a z m 1
2
对于给定的数据,我想根据一些布尔值将其拆分,然后对该行和前面的行应用一个标签,直到那个点为止。
假设有以下数据:
test <- data.frame(x = 1:10, y = c(F, F, F, T, F, F, T, F, F, F))
我最终希望创建一个新列,该列将包含dataframe的特定部分的标签。理想情况下,如下所示:
x y z
1 F 1
2 F 1
3 F 1
4 T 1
5 F 2
6 F 2
7 T 2
8 F 3
9 F 3
10 F 3
我目前的想法是,我需要使用类似于以
我需要在列的所有元素上找到最小值,该列具有最大的列和。我做了以下事情:
创建随机矩阵
from numpy import *
a = random.rand(5,4)
然后计算每一列的和,并找到最大元素的索引。
c = a.sum(axis=0)
d = argmax(c)
然后,我试着在本专栏中找到最小数目,但是语法很差,我知道如何在行中找到包含当前索引的最小元素。
e = min(a[d])
但我如何将其更改为列呢?
我想知道是否有一些内置的函数可以帮助我有效地执行以下算法。假设表1和表2具有size(table 2) < size(table1)。
对于表1中的每个元素,我搜索整个表2,直到满足表1中的列和表2中的列之间的条件。具体地说,我希望在表2中找到abs(table1$c1[j]- table2$c1)<0.01 for each j.的c2的列值
目前,我已经为table1使用了一个for循环,该循环返回
for each j
table2$c2[abs(table1$c1[j]- table2$c1)<0.01]
但这真的很慢。