Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.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 - Fatal编程技术网

R 如何在数据表中舍入并添加新列?

R 如何在数据表中舍入并添加新列?,r,R,我是R的新手。请帮我解决以下问题 我的data.table如下所示- 我只想对sic和naics列进行一些计算。我需要在data.table中添加四个新列,即TwoDigitSic、ThreeDigitSic、TwoDigitNaics和ThreeDigitNaics。 要使其成为两位数,请将三位数值除以10,将四位数值除以100,依此类推。 我也不想使用roundx。应该是floorx Data.table的示例代码:- 图书馆ReadXL 图书馆数据表 图书馆XLSX 图书馆OpenXLS

我是R的新手。请帮我解决以下问题

我的data.table如下所示-

我只想对sic和naics列进行一些计算。我需要在data.table中添加四个新列,即TwoDigitSic、ThreeDigitSic、TwoDigitNaics和ThreeDigitNaics。 要使其成为两位数,请将三位数值除以10,将四位数值除以100,依此类推。 我也不想使用roundx。应该是floorx

Data.table的示例代码:- 图书馆ReadXL 图书馆数据表 图书馆XLSX 图书馆OpenXLSX

uk = read.csv("C:\\Users\\talgotra\\Desktop\\CE Count\\latest\\rawDD_monthly_UK40.csv")

data = as.data.table(uk)
输出应类似于-

试试这个:

data$TwoDigitSic <- as.numeric(substr(Sic, 1, 2))
data$ThreeDigitSic <- as.numeric(substr(Sic, 1, 3))
data$TwoDigitNaics <- as.numeric(substr(Naics, 1, 2))
data$ThreeDigitNaics <- as.numeric(substr(Naics, 1, 3))

请使用dput而不是图像添加数据。请阅读关于和如何给出a的信息。我想将SIC和NAICS转换为两位数和三位数。对于1287=12和128<类似于此,它按要求工作,例如>Sic as.numericsubstrSic,1,2[1]12 13 56除非您提供可复制的样品,否则我们无法检查它。