我对如何使用数据框有疑问。我有这个功能,我们花了一个数据帧只有一列。我想要在数据帧的每个位置的固定数和值之间进行减法。此减法的结果应存储在另一个数据框中。
get_ms_ts_list<-function(ts_list){
ms_ts_list <-nrow(ts_list)
as.double(ts_list)
for (i in 1:nrow(ts_list)){
ms_ts_list[i]<-(1392217780000 - ts_list[i, ])
}
ms_ts_list
}
我收到错误类型 get_ms_ts_list(ts_list)中的错误: (list)对象不能被强制输入'double'
并且经过一些更改通常会给我一个
6:在Ops.factor(1,392,217,780,000,ts_list [i])中: - 对因素没有意义
答案 0 :(得分:0)
看起来您有一个数据框(有一列),并且您希望从固定数字中减去此单列数据框中的值。你想要一个矢量作为结果
如果您的单列数据框为ts_list
,并且您想要的结果为ms_ts_list
,则可以使用以下代码:
ms_ts_list<-1392217780000 - ts_list[,1]
答案 1 :(得分:0)
你写的函数有几个问题,纠正的函数是:
get_ms_ts_list<-function(ts_list){
ms_ts_list <- vector()
static_num <- 1392217780000
for (i in 1:length(ts_list[,1])){
ms_ts_list[i] <- static_num-i
}
return(as.data.frame(ms_ts_list))
}
df <- data.frame(a=1:15)
a <- get_ms_ts_list(df)
虽然您创建了一个double但没有将它分配给任何变量,所以不需要创建double。