繁体   English   中英

为什么data.frame列未在R中更改

[英]Why data.frame column is not changing in R

我有以下数据框:

ddf
  vnum1     vnum2
1     1 0.6380312
2     1 0.1737218
3     1 0.3528707
4     1 0.8670922
5     1 0.6498109
> 
> 
> str(ddf)
'data.frame':   5 obs. of  2 variables:
 $ vnum1: num  1 1 1 1 1
 $ vnum2: num  0.638 0.174 0.353 0.867 0.65
> 

我想将vnum1的所有值从1更改为4。

为什么以下操作无效:

> rbind(ddf, ddf[,1]=4)
Error: unexpected '=' in "rbind(ddf, ddf[,1]="

以下仅将一个数字加到两列。 它显然无法正常工作。

> rbind(ddf, (ddf[,1]=4))
  vnum1     vnum2
1     1 0.6380312
2     1 0.1737218
3     1 0.3528707
4     1 0.8670922
5     1 0.6498109
6     4 4.0000000

这里有两个问题。

  1. 该代码不起作用,因为在函数的参数列表中使用=不正确。 rbind=用于为参数分配名称。

    为此,请尝试rbind(ddf, ddf[,1] <- 4)rbind(ddf, ddf[,1]=4)

    也尝试rbind(ddf, X = 3)并查看行名。

  2. rbind是一个行绑定函数。 因此,当您调用rbind(ddf, ddf[,1]=4)您尝试在ddf的底部添加一个新行,其中填充了4。


就是说,要将第一列中的所有值替换为4,您可以像使用rbind调用一样使用ddf[,1]=4 ,或者也可以

ddf$vnum1 <- 4L

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM