Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何替换R中的单列值_R_Variables - Fatal编程技术网

如何替换R中的单列值

如何替换R中的单列值,r,variables,R,Variables,我的数据集如下所示: A B C D 1. 5 4 4 4 2. 5 4 4 4 3. 5 4 4 4 4. 5 4 4 4 5. 5 4 4 4 6. 5 4 4 4 7. 5 4 4 4 A B C D 1. 5 4 40 4 2. 5 4 40 4 3. 5 4 40 4 4. 5 4 40 4 5. 5 4 40 4 6. 5 4 40 4 7. 5 4 40

我的数据集如下所示:

   A  B  C   D
1. 5  4  4   4
2. 5  4  4   4
3. 5  4  4   4
4. 5  4  4   4
5. 5  4  4   4
6. 5  4  4   4
7. 5  4  4   4
   A  B  C   D
1. 5  4  40  4
2. 5  4  40  4
3. 5  4  40  4
4. 5  4  40  4
5. 5  4  40  4
6. 5  4  40  4
7. 5  4  40  4
我想给C列中的所有变量加一个零。例如:

   A  B  C   D
1. 5  4  4   4
2. 5  4  4   4
3. 5  4  4   4
4. 5  4  4   4
5. 5  4  4   4
6. 5  4  4   4
7. 5  4  4   4
   A  B  C   D
1. 5  4  40  4
2. 5  4  40  4
3. 5  4  40  4
4. 5  4  40  4
5. 5  4  40  4
6. 5  4  40  4
7. 5  4  40  4

怎么做?

只需将C列乘以10即可。假设您的data.frame名为myData:


我真的不喜欢经常引用myData$A来引用A列。一个很好的替代表达式是在以下范围内使用:

特别是当需要在同一data.frame中执行更多列操作时,我更喜欢这种语法。或者更好:

myData = transform(myData, C = C * 10, D = D + 4, E = C + D)
或者使用plyr软件包中的mutate。与transform相比,它具有迭代工作的优势,允许您使用新创建的列:

# fails
myData = transform(myData, C = C * 10, new_col = C + 4, even_newer = new * 3) 
#works  
myData = mutate(myData, C = C * 10, new_col = C + 4, even_newer = new * 3)

如果您的数据是数字,mrdwab的建议是最好的:


myData$C@Rnewbie,如果且仅当答案满足您的需要时,务必将其标记为已接受。随着您的问题变得越来越复杂,您可能会开始考虑制作一个可复制的示例。看看如何在这里做一个:内是绝对有用的。