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