我有以下格式的数据,在列A中有唯一的ID,但这些ID可以出现在多个行中,代表针对该个人的重复事务。在列B中,我有该事务的日期时间戳,在列C中,有事务的名称;
Col A Col B Col C
ABC1 15/02/2018 16:26 Apple
ABC1 14/02/2018 11:26 Pear
ABC1 13/02/2018 09:11 Pear
ABC2 15/02/2018 16:26 Orange
ABC2 14/02/2018
我想知道在R数据帧中for循环是如何工作的。这不是一个可重复的例子,但我想知道这个概念是否可行。如果df有一个日期、ID、数量和4个变量,我可以循环这些列吗?我需要从Var1列中删除NA行到Var4中,根据Amount列创建一个“权重向量”,然后计算加权平均值。
a<- names(df)
a<- a[4:7]
a
[1] "Var1" "Var2" "Var3" "Var4"
#df has Date, ID, Amount ,Var1, Var2, Var3, Var4
for(i in a) {
N
我想知道如何在R中实现这个公式,它是计数超过等于400,也是计数低于等于400。
excel的公式如下:
=SUM(COUNTIFS(B$2:$B$1048576,{"<=-400",">=400"},A$2:$A$1048576,"="&C2))
B2列: Data A2列: Date C2列匹配日期
下面是一个示例日期框架:
A (time series date) B (data) C (Numerical Date)
20140219 -412 2014021
我有两个数据表,一个只有5个列,第二个是100个列,但简单地说,它们的格式如下。两者都有几百排长。
表1(按升序排列,所有列)
A B C D E
1 Date TeamF Trans Name TeamT
2 date1 teamF1 trans1 name1 teamT1
3 date2 teamF2 trans2 name2 teamT2
4 date3 teamF3 trans3 name3 teamT3
5
我有一列日期是6-13 6-13 7-13,I是1 27 34 555 ...以及一列1和2,它们表示当天的事件。对于给定的每个日期和每个ID,我尝试计算1和2的总数(或者只计算与日期和ID匹配的总天数)。在另一种语言中,我们可能会编写类似下面的psuedo-code:
For ID in IDs
For Date in Dates
*count the number of days where ID == ID and Date == Date*
如何在没有循环的情况下做到这一点?
我的df1有4列(让我们称它们为a、b、c和d),df2有2列(a和b)。我想在df2中添加df1中缺少的列(例如c和d),并用NA填充它们,以便合并这两个列。正常的R代码如下(如果我没记错的话):
mdf <- plyr::rbind.fill(df1, df2)
但这并不适用于SparkR的DataFrames:Error: All inputs to rbind.fill must be data.frames
如何使用在SparkR DataFrame%s上工作的函数来实现此目的?
(显然,我想要一些可维护的东西,而不是像df2$c <-那样基本上手动添加每个列的东西)
谢
我有一个最终将被转换为xts对象的数据文件。第一列包含日期数据,而所有其他列都包含数字数据。但是,并非所有数值列的值数/长度相同。有些列包含NAs的行比其他列多。
我希望通过删除列中包含NAs的行来筛选数据,该列的NAs数量最少,但对于我所选的所有其他列,仍然保留包含NAs的行。例如,下面的列grpA的NAs数量最少。我希望删除包含NAs的前2行数据,但不管值是什么,都要在grpB中保留它们。
我所拥有的:
Date grpA grpB
2007-11-06 NA NA
2007-11-07 NA NA
2007-11-09 1.66 NA
我有财务报表的数据。dataframe是长格式的,我需要将它转换为一个宽的dataframe来计算新的值。Gross Margin before Incentives列中的一些值,Cash Incentives和item列中的值是重复的,但它们都属于由字符串中的第一个单词表示的组,在它们各自的Gross Margin before Incentives值之上。这是我的数据看起来如何的一个例子:
item balance
<chr> <dbl>
1 Happy S
我花了好几个小时试图找到这个问题的答案,但是找不到合适的代码,而且我也在努力解决这个问题。
下面是我的数据的一个示例(命名为队列):
Diagnosis Event Death
1970-01-01 1975-01-01 1980-01-01
1970-02-02 NA NA
1970-03-03 NA 1980-03-03
1970-04-04 1975-04-04 NA
1970-05-05 NA NA
我想要创建一个跟踪时间变量,从诊断日期到事件日期,死亡日期或1990-01-01 -01,这三件事中的哪一
我试图找出如何组合具有一列日期的行,这样新的表/数据框架/table将有两列:一列用于开始日期,一列用于结束日期,但仅用于连续日期(即,日期中的任何空白都应分隔为新表中的新行)。它还将按不同的分类分类。
下面是我正在处理的数据类型的一个例子:
Person ID Department Date
351581 JE 12/1/2019
351581 JE 12/2/2019
351581 FR 12/2/2019
351581 JE
我想根据给定的字符向量添加一个新列。例如,在下面的示例中,我希望添加在d中定义的列expr
library(magrittr)
data <- tibble::tibble(
a = c(1, 2),
b = c(3, 4)
)
expr <- "d = a + b"
如下所示:
data %>%
dplyr::mutate(d = a + b)
# # A tibble: 2 x 3
# a b d
# <dbl> <dbl> <dbl>
# 1 1 3
假设我在一个数据框架中有两列,由概率和事件的剩余时间组成。
prob time
0 0.975909 0 days 00:00:00
1 0.957819 0 days 01:00:00
2 0.937498 0 days 02:00:00
3 0.912779 0 days 03:00:00
4 0.894139 0 days 04:00:00
5 0.873184 0 days 05:00:00
6 0.847748 0 days 06:00:00