我有以下数据框"DF",它是更大的数据框的一部分:
X1 X2 X3 X4 X5
4468 2010-03-24 3 1.000000e+00 1 2
7662 2010-03-24 9 3.000000e+00 2 1
1272 2010-03-25 8 2.000000e+00 1 1
1273 2010-03-26 9 0.000000e+00 1 1
1274 2010-03-27 8 0.000000e+00 1 1
4469 2010-03-28 4 0.000000e+00 1 2
7663 2010-03-28 4 3.000000e+00 3 1
8734 2010-03-28 7 4.000000e+00 2 3
1275 2010-03-29 8 0.000000e+00 1 1
Run Code Online (Sandbox Code Playgroud)
如您所见,第一列包含日期.我想要做的是如下:我想将这个数据帧转换为一个新的"DF2",其中每个日期只有1行具有相应的列值:
X2, the average
X3, the sum
X4, the maximum
Run Code Online (Sandbox Code Playgroud)
每个日期的所有先前值.X5不相关,可以删除.这将是结果:
X1 X2 X3 X4
7662 2010-03-24 6 4.000000e+00 2 …Run Code Online (Sandbox Code Playgroud) 我有这个数据帧"df1"作为例子,它实际上是一个更大的(15年)的一部分:
X1 X2
3798 2009-12-29 0
3799 2009-12-30 0
3800 2009-12-31 0
3802 2010-01-02 0
3803 2010-01-03 2.1
3804 2010-01-04 0
3805 2010-01-05 0
3806 2010-01-06 0
3807 2010-01-07 0
3808 2010-01-08 0
3809 2010-01-09 0
3810 2010-01-10 6.8
3811 2010-01-12 0
3812 2010-01-13 0
3813 2010-01-14 17.7
3814 2010-01-16 0
3815 2010-01-17 0
3816 2010-01-18 1.5
3817 2010-01-19 0
3818 2010-01-20 0
3819 2010-01-21 0
3820 2010-01-22 0
3821 2010-01-23 0
3822 2010-01-24 0
3823 2010-01-25 0
3824 2010-01-26 …Run Code Online (Sandbox Code Playgroud) 下面是数据帧df1,我希望将因子格式的"V2"列转换为数字,而不更改当前值(0; 0; 8,5; 3).
DF1 =
V1 V2 V3 X2 X3
4470 2010-03-28 0 A 21.53675 0
4471 2010-03-29 0 A 19.21611 0
4472 2010-03-30 8,5 A 21.54541 0
4473 2010-03-31 3 A NA NA
Run Code Online (Sandbox Code Playgroud)
由于列"V2"是因子格式,我首先将其转换为字符格式:
df1[,2]=as.character(df1[,2])
然后我尝试将"V2"转换为数字格式:
df1[,2]=as.numeric(df1[,2])
导致此R消息:
Warning message: NAs introduced by coercion
下面的数据框df[3,2]已变为"NA"而不是"8,5".
V1 V2 V3 X2 X3
4470 2010-03-28 0 A 21.53675 0
4471 2010-03-29 0 A 19.21611 0
4472 2010-03-30 NA A 21.54541 0
4473 2010-03-31 3 A NA NA
Run Code Online (Sandbox Code Playgroud)
这可能与8,5不是整数的事实有关.我还是不知道如何解决这个问题.非常感谢帮助!