R 更改数据帧值 背景
区分模型值和预测值 问题 考虑以下代码:R 更改数据帧值 背景,r,dataframe,R,Dataframe,区分模型值和预测值 问题 考虑以下代码: library( 'gam' ) slope = 0.55 amplitude = 0.22 frequency = 3 noise = 0.75 x <- 1:200 y <- (slope * x / 100) + (amplitude * sin( frequency * x / 100 )) ynoise <- y + (noise * runif( length( x ) )) gam.object <- gam(
library( 'gam' )
slope = 0.55
amplitude = 0.22
frequency = 3
noise = 0.75
x <- 1:200
y <- (slope * x / 100) + (amplitude * sin( frequency * x / 100 ))
ynoise <- y + (noise * runif( length( x ) ))
gam.object <- gam( ynoise ~ s( x ) )
p <- predict( gam.object, data.frame( x = 1:210 ) )
df <- data.frame( value=p, model='y' )
不起作用,我尝试过的任何变体也不起作用
相关的
谢谢大家! 列是一个因素:
R> sapply(df, class)
value model
"numeric" "factor"
R>
只有一个级别:
R> table(df[,2])
y
200
您可能需要重新调整此级别以允许使用“n”
编辑:现在重新查看此内容。您的gam()
R> predict(gam.object, data.frame(x=201:210))
1 2 3 4 5 6 7 8 9 10
1.370 1.379 1.388 1.397 1.406 1.415 1.424 1.433 1.442 1.450
R>
换句话说,您既不需要y
也不需要n
,但可能我在这里误解了什么。如果是这样的话,请您修改一下您的问题,让它更清楚一些好吗?该栏是一个因素:
R> sapply(df, class)
value model
"numeric" "factor"
R>
只有一个级别:
R> table(df[,2])
y
200
您可能需要重新调整此级别以允许使用“n”
编辑:现在重新查看此内容。您的gam()
R> predict(gam.object, data.frame(x=201:210))
1 2 3 4 5 6 7 8 9 10
1.370 1.379 1.388 1.397 1.406 1.415 1.424 1.433 1.442 1.450
R>
换句话说,您既不需要y
也不需要n
,但可能我在这里误解了什么。如果是这样,请修改您的问题并使其更清楚?创建数据框时,请将模型的变量类型设置为character,而不是默认值,即factor。这可以在制作数据帧时完成
df <- data.frame( value=p, model='y', stringsAsFactors=FALSE)
R> df[201:210,2] <- 'n'
R> table(df[,2])
n y
10 200
df[201:210,2]表(df[,2])
纽约
10 200
创建数据帧时,将模型的变量类型设置为character,而不是默认的factor。这可以在制作数据帧时完成
df <- data.frame( value=p, model='y', stringsAsFactors=FALSE)
R> df[201:210,2] <- 'n'
R> table(df[,2])
n y
10 200
df[201:210,2]表(df[,2])
纽约
10 200