如何在R中编辑数据帧(多列)?

如何在R中编辑数据帧(多列)?,r,csv,edit,R,Csv,Edit,我有一个CSV文件,有11列(但我现在忽略前8列),最后3列(9-11列)很重要。我缺少第9列的一些数据,这些单元格显示为NA。但要填充这些单元格,我可以将第11列乘以第10列 我想创建一个数据框,在其中填写第9列的所有内容,并将其保存为新的CSV文件。我首先尝试将列相乘。这起作用了,我从第9列得到了缺失的数据。然后我尝试将新的第9列与数据框中的第9列合并,但R只是将这两列附加在一起 我想要计算NA数据,以替换原始数据帧中的数据(因此我最后得到完整的第9列)。另外,我只想将列与NA单元格相乘,这

我有一个CSV文件,有11列(但我现在忽略前8列),最后3列(9-11列)很重要。我缺少第9列的一些数据,这些单元格显示为NA。但要填充这些单元格,我可以将第11列乘以第10列

我想创建一个数据框,在其中填写第9列的所有内容,并将其保存为新的CSV文件。我首先尝试将列相乘。这起作用了,我从第9列得到了缺失的数据。然后我尝试将新的第9列与数据框中的第9列合并,但R只是将这两列附加在一起

我想要计算NA数据,以替换原始数据帧中的数据(因此我最后得到完整的第9列)。另外,我只想将列与NA单元格相乘,这样就不会替换原始数据。怎么做

col_9 <- matrix(dat[,10] * dat[,11], ncol=1)
print(col_9)

col_9您可以使用
ifelse
功能:

dat[,9]=ifelse(is.na(dat[,9]),dat[,10]*dat[,11],dat[,9])


如果条件为
TRUE
(即
is.na(dat[,9])
),则该值将替换为第二个参数(
dat[,10]*dat[,11]
),否则将替换为第三个on(即
dat[,9]
,因此该值将保留)。

您可以使用
ifelse
函数:

dat[,9]=ifelse(is.na(dat[,9]),dat[,10]*dat[,11],dat[,9])

如果条件是<代码>真< /代码>(即<代码>是.NA(dAT[,9)< /COD>),该值将被第二个参数替换(<代码> DAT[,10 ] *DAT[,11 ] < /代码>),否则它被第三个ON(即<代码> DAT[,9 ] < /代码>所取代,因此值保持不变。这样做不仅给回答者提供了一些观点,也为有类似问题的读者提供了一些结尾。虽然你只能接受一个答案,但你可以选择增加你认为有帮助的选票。(如果仍然有问题,你可能需要进一步详细地编辑你的问题。)这样做不仅给回答者提供了一些观点,也为有类似问题的读者提供了一些结尾。虽然你只能接受一个答案,但你可以选择增加你认为有帮助的选票。(如果仍然存在问题,您可能需要编辑问题并提供更多详细信息。)