为什么这种简单的方法来替换R中的数据框中的条目不起作用?

wht*_*obj 0 replace r dataframe

当然,我在这里遗漏了一些东西.我正在阅读这份文件:

现在,如果我有任何旧矢量:

x <- letters
Run Code Online (Sandbox Code Playgroud)

我可以做这个:

x[5] <- "test"
Run Code Online (Sandbox Code Playgroud)

......并且向量x中的字母"e"将被字符串"test"替换.到目前为止一切顺利,但如果我制作数据框:

df <- data.frame(col1 = letters, col2 = letters)
Run Code Online (Sandbox Code Playgroud)

那为什么我会收到以下错误:

 df[5,1] <- "test"
Run Code Online (Sandbox Code Playgroud)

 df$col1[5] <- "test"
Run Code Online (Sandbox Code Playgroud)

必须有一种非常简单的方法,才能进入数据框并只更改一个值.

错误是"无效因子级别".因此,我认为理想情况是以某种方式告诉R我希望它不要将DF中的相关列视为因子变量.

Mat*_*erg 6

使用stringsAsFactors参数data.frame:

df <- data.frame(col1 = letters, col2 = letters, stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)

这将根据需要提供模式列character.

?data.frame 显示其选项.