在R中,当我在c()函数中乘以两个数据帧时,我得到一个列表作为输出但是想要返回一个数据帧我该怎么做呢。
专门测试它
str(c(Diesel_Col_Monthly_Prop_df [-1] * Product_Prop_Mch_df [,2])) 清单12 $ Jan:num [1:14] 0.0335 0.0335 0.0335 0.0335 0.0335 ... $ Feb:num [1:14] 0.0365 0.0365 0.0365 0.0365 0.0365 ... $ Mar:num [1:14] 0.0581 0.0581 0.0581 0.0581 0.0581 ... $ Apr:num [1:14] 0.0936 0.0936 0.0936 0.0936 0.0936 ... $ May:num [1:14] 0.0783 0.0783 0.0783 0.0783 0.0783 ... $ Jun:num [1:14] 0.0616 0.0616 0.0616 0.0616 0.0616 ... $ Jul:num [1:14] 0.0713 0.0713 0.0713 0.0713 0.0713 ... $ Aug:num [1:14] 0.107 0.107 0.107 0.107 0.107 ... $ Sep:num [1:14] 0.0987 0.0987 0.0987 0.0987 0.0987 ... $ Oct:num [1:14] 0.0654 0.0654 0.0654 0.0654 0.0654 ... $ Nov:num [1:14] 0.034 0.034 0.034 0.034 0.034 ... $ Dec:num [1:14] 0.0326 0.0326 0.0326 0.0326 0.0326 ...
> str (Diesel_Col_Monthly_Prop_df [-1] * Product_Prop_Mch_df [ ,2])
'data.frame': 14 obs. of 12 variables:
$ Jan: num 0.0335 0.0335 0.0335 0.0335 0.0335 ...
$ Feb: num 0.0365 0.0365 0.0365 0.0365 0.0365 ...
$ Mar: num 0.0581 0.0581 0.0581 0.0581 0.0581 ...
$ Apr: num 0.0936 0.0936 0.0936 0.0936 0.0936 ...
$ May: num 0.0783 0.0783 0.0783 0.0783 0.0783 ...
$ Jun: num 0.0616 0.0616 0.0616 0.0616 0.0616 ...
$ Jul: num 0.0713 0.0713 0.0713 0.0713 0.0713 ...
$ Aug: num 0.107 0.107 0.107 0.107 0.107 ...
$ Sep: num 0.0987 0.0987 0.0987 0.0987 0.0987 ...
$ Oct: num 0.0654 0.0654 0.0654 0.0654 0.0654 ...
$ Nov: num 0.034 0.034 0.034 0.034 0.034 ...
$ Dec: num 0.0326 0.0326 0.0326 0.0326 0.0326 ...
答案 0 :(得分:0)
c(DF)
其中DF
是数据框始终返回列表,DF * DF
是数据框,因此c(DF * DF)
返回列表。如果您想要数据框,请不要使用c
。
使用内置数据框BOD
:
> str(BOD)
'data.frame': 6 obs. of 2 variables:
$ Time : num 1 2 3 4 5 7
$ demand: num 8.3 10.3 19 16 15.6 19.8
- attr(*, "reference")= chr "A1.4, p. 270"
> str(BOD * BOD)
'data.frame': 6 obs. of 2 variables:
$ Time : num 1 4 9 16 25 49
$ demand: num 68.9 106.1 361 256 243.4 ...
> str(c(BOD))
List of 2
$ Time : num [1:6] 1 2 3 4 5 7
$ demand: num [1:6] 8.3 10.3 19 16 15.6 19.8
> str(c(BOD*BOD))
List of 2
$ Time : num [1:6] 1 4 9 16 25 49
$ demand: num [1:6] 68.9 106.1 361 256 243.4 ...